home *** CD-ROM | disk | FTP | other *** search
/ USGS: Coal Resource Asse… Rocky Mts & Great Plains / USGS Coal Resource Assessment - Rocky Mts and Great Plains - Disc 2.iso / PROGRAM / EXT32 / GratGrid.avx < prev    next >
Text File  |  1998-07-21  |  72KB  |  1,251 lines

  1. /3.1
  2. (Extension.1
  3.     Name:    "Graticules and Measured Grids"
  4.     Dependencies:    "$AVBIN/avdlog.dll\n"
  5.     FirstRootClassName:    "Butn"
  6.     Roots:    2
  7.     Roots:    4
  8.     Roots:    5
  9.     Roots:    128
  10.     Roots:    129
  11.     Roots:    130
  12.     Roots:    131
  13.     Roots:    132
  14.     Roots:    133
  15.     Roots:    134
  16.     Roots:    135
  17.     Roots:    136
  18.     Roots:    137
  19.     Roots:    138
  20.     Roots:    139
  21.     Roots:    140
  22.     Version:    31
  23.     About:    "Contains a Tool for making graticules and measured grids on viewframes in a layout. (v3.1)"
  24.     CanUnloadScript:    141
  25.     UnloadScript:    142
  26.     InstallScript:    143
  27.     UninstallScript:    144
  28.     ExtVersion:    1
  29. )
  30.  
  31. (Butn.2
  32.     Help:    "Graticules and Grids//Use this to place a graticule around the selected viewframe"
  33.     Update:    "GratGrids.LayoutGraticule Update"
  34.     Icon:    3
  35.     Click:    "GratGrids.LayoutGraticule Show"
  36. )
  37.  
  38. (AVIcon.3
  39.     Name:    "Graticule/Grid"
  40.     Res:    "Icons.Graticule/Grid"
  41.  
  42. )
  43.  
  44. (Choice.4
  45.     Help:    "Use this to place a graticule around the selected viewframe"
  46.     HelpTopic:    "Layout_Graticule_and_Grid"
  47.     Update:    "GratGrids.LayoutGraticule Update"
  48.     Label:    "Add Graticule or Grid"
  49.     Click:    "GratGrids.LayoutGraticule Show"
  50.     Shortcut:    "Keys.None"
  51. )
  52.  
  53. (AVDLog.5
  54.     Name:    "Grat Grids Layout Grids and Graticules"
  55.     X:    39
  56.     Y:    131
  57.     W:    564
  58.     H:    312
  59.     HelpTopic:    "Layout_Graticule_and_Grid"
  60.     ConstrainedControlNames:    6
  61.     ConstrainedControlNames:    7
  62.     ConstrainedControlNames:    8
  63.     ConstrainedControlNames:    9
  64.     ConstrainedControlNames:    10
  65.     Constraints:    11
  66.     Constraints:    12
  67.     Constraints:    13
  68.     Constraints:    14
  69.     Constraints:    15
  70.     Server:    16
  71.     ControlPanel:    17
  72.     Title:    "Graticule and Grid Wizard"
  73.     EscapeEnabled:    1
  74.     AlwaysOnTop:    1
  75.     HasTitleBar:    1
  76.     Closeable:    1
  77.     Close:    "GratGrids.LayoutGraticule Close"
  78.     Open:    "GratGrids.LayoutGraticule Open"
  79.     DefaultButton:    127
  80. )
  81.  
  82. (AVStr.6
  83.     S:    "Finish"
  84. )
  85.  
  86. (AVStr.7
  87.     S:    "Next"
  88. )
  89.  
  90. (AVStr.8
  91.     S:    "Back"
  92. )
  93.  
  94. (AVStr.9
  95.     S:    "Cancel"
  96. )
  97.  
  98. (AVStr.10
  99.     S:    "aLabelButton1"
  100. )
  101.  
  102. (Numb.11
  103.     N:    85.00000000000000
  104. )
  105.  
  106. (Numb.12
  107.     N:    85.00000000000000
  108. )
  109.  
  110. (Numb.13
  111.     N:    85.00000000000000
  112. )
  113.  
  114. (Numb.14
  115.     N:    85.00000000000000
  116. )
  117.  
  118. (Numb.15
  119.     N:    85.00000000000000
  120. )
  121.  
  122. (Nil.16
  123.     InternalName:    "MapTool"
  124. )
  125.  
  126. (CPanel.17
  127.     Child:    18
  128.     Child:    22
  129.     Child:    34
  130.     Child:    59
  131.     Child:    90
  132.     Child:    91
  133.     Child:    92
  134.     Child:    93
  135.     Child:    94
  136.     Child:    116
  137.     ResBox:    117
  138.     ResBox:    118
  139.     ResBox:    119
  140.     ResBox:    120
  141.     ResBox:    121
  142.     ResBox:    122
  143.     ResBox:    123
  144.     ResBox:    124
  145.     ResBox:    125
  146.     ResBox:    126
  147.     Listening:    1
  148. )
  149.  
  150. (CPanel.18
  151.     InternalName:    "BackPanel"
  152.     Child:    19
  153.     Constraints:    0x55
  154.     ResBox:    21
  155.     VisibleBorder:    1
  156.     Listening:    1
  157. )
  158.  
  159. (AVIBox.19
  160.     InternalName:    "WizImage"
  161.     Constraints:    0x55
  162.     Icon:    20
  163.     Listening:    1
  164. )
  165.  
  166. (AVIcon.20
  167.     Name:    "Check"
  168.     Res:    "Icons.Check"
  169.  
  170. )
  171.  
  172. (RectD.21
  173.     Left:    8.00000000000000
  174.     Top:    264.00000000000000
  175.     Right:    174.00000000000000
  176.     Bottom:    8.00000000000000
  177. )
  178.  
  179. (CPanel.22
  180.     InternalName:    "OptionPanel"
  181.     Child:    23
  182.     Child:    25
  183.     Child:    26
  184.     Child:    27
  185.     Child:    28
  186.     Constraints:    0x55
  187.     ResBox:    29
  188.     ResBox:    30
  189.     ResBox:    31
  190.     ResBox:    32
  191.     ResBox:    33
  192.     VisibleBorder:    1
  193.     Listening:    1
  194. )
  195.  
  196. (AVCBBox.23
  197.     InternalName:    "viewFrames"
  198.     Help:    "Choose a which viewframe you want to place a graticule or grid on"
  199.     NextControl:    24
  200.     ContentKind:    4
  201.     Constraints:    0x55
  202.     Listening:    1
  203.     Select:    "GratGrids.LayoutGraticule Change View"
  204. )
  205.  
  206. (Nil.24
  207.     InternalName:    "MapTool"
  208. )
  209.  
  210. (AVCBox.25
  211.     InternalName:    "SelectGrid"
  212.     Help:    "When you check this, the wizard will show options for measured grids"
  213.     Listening:    1
  214.     Label:    "Create a measured grid"
  215.     Click:    "GratGrids.LayoutGraticule Select Option"
  216.     Constraints:    0x55
  217. )
  218.  
  219. (TextLabel.26
  220.     InternalName:    "aTextLabel39"
  221.     Constraints:    0x55
  222.     Label:    "Choose the view frame that you want \nto place a grid or graticule on:"
  223.     Listening:    1
  224. )
  225.  
  226. (AVCBox.27
  227.     InternalName:    "SelectGrat"
  228.     Help:    "When you check this, the wizard will show options for graticules"
  229.     Listening:    1
  230.     Selected:    1
  231.     Label:    "Create a graticule"
  232.     Click:    "GratGrids.LayoutGraticule Select Option"
  233.     Constraints:    0x55
  234. )
  235.  
  236. (TextLabel.28
  237.     InternalName:    "aTextLabel12"
  238.     Constraints:    0x55
  239.     Label:    "This wizard will help you place a graticule or a \nmeasured grid on a viewframe in your layout.\nAs you progress through the wizard,  you can\nverify how the settings you've customized so\nfar look by clicking the Preview button."
  240.     Listening:    1
  241. )
  242.  
  243. (RectD.29
  244.     Left:    8.00000000000000
  245.     Top:    292.00000000000000
  246.     Right:    252.00000000000000
  247.     Bottom:    177.00000000000000
  248. )
  249.  
  250. (RectD.30
  251.     Left:    29.00000000000000
  252.     Top:    241.00000000000000
  253.     Right:    244.00000000000000
  254.     Bottom:    222.00000000000000
  255. )
  256.  
  257. (RectD.31
  258.     Left:    8.00000000000000
  259.     Top:    165.00000000000000
  260.     Right:    261.00000000000000
  261.     Bottom:    132.00000000000000
  262. )
  263.  
  264. (RectD.32
  265.     Left:    29.00000000000000
  266.     Top:    225.00000000000000
  267.     Right:    230.00000000000000
  268.     Bottom:    202.00000000000000
  269. )
  270.  
  271. (RectD.33
  272.     Left:    8.00000000000000
  273.     Top:    133.00000000000000
  274.     Right:    346.00000000000000
  275.     Bottom:    9.00000000000000
  276. )
  277.  
  278. (CPanel.34
  279.     InternalName:    "graphicoptions"
  280.     Child:    35
  281.     Child:    36
  282.     Child:    37
  283.     Child:    38
  284.     Child:    47
  285.     Constraints:    0x55
  286.     ResBox:    54
  287.     ResBox:    55
  288.     ResBox:    56
  289.     ResBox:    57
  290.     ResBox:    58
  291.     VisibleBorder:    1
  292.     Listening:    1
  293. )
  294.  
  295. (TextLabel.35
  296.     InternalName:    "aTextLabel78"
  297.     Constraints:    0x55
  298.     Label:    "Choose options for your border:"
  299.     Listening:    1
  300. )
  301.  
  302. (AVCBox.36
  303.     InternalName:    "BorderAroundMap"
  304.     Help:    "Places a border around the viewframe"
  305.     Listening:    1
  306.     Selected:    1
  307.     Label:    "Border around the viewframe"
  308.     Click:    "GratGrids.LayoutGraticule Border Display Option"
  309.     Constraints:    0x55
  310. )
  311.  
  312. (AVCBox.37
  313.     InternalName:    "BorderAroundLabels"
  314.     Help:    "Places a border around the graticule/grid and its labels"
  315.     Listening:    1
  316.     Label:    "Border around the graticule/grid"
  317.     Click:    "GratGrids.LayoutGraticule Border Display Option"
  318.     Constraints:    0x55
  319. )
  320.  
  321. (CPanel.38
  322.     InternalName:    "MapBorderOptions"
  323.     Child:    39
  324.     Child:    40
  325.     Child:    41
  326.     Child:    42
  327.     Constraints:    0x55
  328.     ResBox:    43
  329.     ResBox:    44
  330.     ResBox:    45
  331.     ResBox:    46
  332.     Label:    "Viewframe border options"
  333.     VisibleBorder:    1
  334.     Listening:    1
  335. )
  336.  
  337. (AVCBBox.39
  338.     InternalName:    "MapBorderColor"
  339.     Help:    "Choose a line color for the viewframe border"
  340.     NextControl:    24
  341.     ContentKind:    4
  342.     Constraints:    0x55
  343.     Listening:    1
  344.     Label:    "Line color:"
  345. )
  346.  
  347. (AVCBBox.40
  348.     InternalName:    "MapBorderStyle"
  349.     Help:    "Choose a line style for the viewframe border"
  350.     NextControl:    24
  351.     ContentKind:    4
  352.     Constraints:    0x55
  353.     Listening:    1
  354. )
  355.  
  356. (TextLabel.41
  357.     InternalName:    "mbsText"
  358.     Constraints:    0x55
  359.     Label:    "Line style:"
  360.     Listening:    1
  361. )
  362.  
  363. (AVCBox.42
  364.     InternalName:    "AlignLabels"
  365.     Listening:    1
  366.     Label:    "Align labels to border"
  367.     Constraints:    0x55
  368. )
  369.  
  370. (RectD.43
  371.     Left:    36.00000000000000
  372.     Top:    172.00000000000000
  373.     Right:    267.00000000000000
  374.     Bottom:    52.00000000000000
  375. )
  376.  
  377. (RectD.44
  378.     Left:    108.00000000000000
  379.     Top:    196.00000000000000
  380.     Right:    266.00000000000000
  381.     Bottom:    76.00000000000000
  382. )
  383.  
  384. (RectD.45
  385.     Left:    36.00000000000000
  386.     Top:    102.00000000000000
  387.     Right:    111.00000000000000
  388.     Bottom:    76.00000000000000
  389. )
  390.  
  391. (RectD.46
  392.     Left:    33.00000000000000
  393.     Top:    39.00000000000000
  394.     Right:    264.00000000000000
  395.     Bottom:    21.00000000000000
  396. )
  397.  
  398. (CPanel.47
  399.     InternalName:    "LabelBorderOptions"
  400.     Child:    48
  401.     Child:    49
  402.     Child:    50
  403.     Constraints:    0x55
  404.     ResBox:    51
  405.     ResBox:    52
  406.     ResBox:    53
  407.     Label:    "Graticule/grid border options"
  408.     VisibleBorder:    1
  409.     Listening:    1
  410. )
  411.  
  412. (AVCBBox.48
  413.     InternalName:    "LabelBorderStyle"
  414.     Help:    "Choose a line style for the graticule/grid border"
  415.     NextControl:    24
  416.     ContentKind:    4
  417.     Constraints:    0x55
  418.     Listening:    1
  419. )
  420.  
  421. (AVCBBox.49
  422.     InternalName:    "LabelBorderColor"
  423.     Help:    "Choose a color for the label border"
  424.     NextControl:    24
  425.     ContentKind:    4
  426.     Constraints:    0x55
  427.     Listening:    1
  428.     Label:    "Line color:"
  429. )
  430.  
  431. (TextLabel.50
  432.     InternalName:    "aTextLabel8"
  433.     Constraints:    0x55
  434.     Label:    "Line style:"
  435.     Listening:    1
  436. )
  437.  
  438. (RectD.51
  439.     Left:    109.00000000000000
  440.     Top:    169.00000000000000
  441.     Right:    266.00000000000000
  442.     Bottom:    49.00000000000000
  443. )
  444.  
  445. (RectD.52
  446.     Left:    36.00000000000000
  447.     Top:    145.00000000000000
  448.     Right:    266.00000000000000
  449.     Bottom:    25.00000000000000
  450. )
  451.  
  452. (RectD.53
  453.     Left:    36.00000000000000
  454.     Top:    69.00000000000000
  455.     Right:    109.00000000000000
  456.     Bottom:    49.00000000000000
  457. )
  458.  
  459. (RectD.54
  460.     Left:    8.00000000000000
  461.     Top:    33.00000000000000
  462.     Right:    260.00000000000000
  463.     Bottom:    14.00000000000000
  464. )
  465.  
  466. (RectD.55
  467.     Left:    41.00000000000000
  468.     Top:    46.00000000000000
  469.     Right:    279.00000000000000
  470.     Bottom:    30.00000000000000
  471. )
  472.  
  473. (RectD.56
  474.     Left:    41.00000000000000
  475.     Top:    65.00000000000000
  476.     Right:    280.00000000000000
  477.     Bottom:    46.00000000000000
  478. )
  479.  
  480. (RectD.57
  481.     Left:    8.00000000000000
  482.     Top:    169.00000000000000
  483.     Right:    296.00000000000000
  484.     Bottom:    67.00000000000000
  485. )
  486.  
  487. (RectD.58
  488.     Left:    8.00000000000000
  489.     Top:    251.00000000000000
  490.     Right:    296.00000000000000
  491.     Bottom:    175.00000000000000
  492. )
  493.  
  494. (CPanel.59
  495.     InternalName:    "GratOptions"
  496.     Child:    60
  497.     Child:    61
  498.     Child:    62
  499.     Child:    63
  500.     Child:    64
  501.     Child:    65
  502.     Child:    66
  503.     Child:    67
  504.     Child:    68
  505.     Child:    69
  506.     Child:    70
  507.     Child:    71
  508.     Child:    72
  509.     Child:    73
  510.     Child:    74
  511.     Constraints:    0x55
  512.     ResBox:    75
  513.     ResBox:    76
  514.     ResBox:    77
  515.     ResBox:    78
  516.     ResBox:    79
  517.     ResBox:    80
  518.     ResBox:    81
  519.     ResBox:    82
  520.     ResBox:    83
  521.     ResBox:    84
  522.     ResBox:    85
  523.     ResBox:    86
  524.     ResBox:    87
  525.     ResBox:    88
  526.     ResBox:    89
  527.     VisibleBorder:    1
  528.     Listening:    1
  529. )
  530.  
  531. (RButn.60
  532.     InternalName:    "LabOnly"
  533.     Help:    "Choose this to just show graticule labels and tic marks at the edge of the viewframe"
  534.     Constraints:    0x55
  535.     Listening:    1
  536.     Label:    "Labels only"
  537.     Click:    "GratGrids.LayoutGraticule Grat Display Option"
  538. )
  539.  
  540. (RButn.61
  541.     InternalName:    "GratandLab"
  542.     Help:    "Choose this to show graticule lines and labels"
  543.     Constraints:    0x55
  544.     Listening:    1
  545.     Label:    "Graticule and Labels"
  546.     Click:    "GratGrids.LayoutGraticule Grat Display Option"
  547. )
  548.  
  549. (AVCBBox.62
  550.     InternalName:    "GratLabFont"
  551.     Help:    "Choose the font for the graticule labels"
  552.     NextControl:    24
  553.     ContentKind:    4
  554.     Constraints:    0x55
  555.     Listening:    1
  556.     Label:    "Label font:"
  557.     Select:    "GratGrids.LayoutGraticule Font Changed"
  558. )
  559.  
  560. (AVCBBox.63
  561.     InternalName:    "GratLabelSize"
  562.     Help:    "Choose the size for the graticule labels"
  563.     NextControl:    24
  564.     ContentKind:    4
  565.     Constraints:    0x55
  566.     Listening:    1
  567.     Label:    "Label size (pts):"
  568. )
  569.  
  570. (AVCBBox.64
  571.     InternalName:    "GratLabelStyle"
  572.     Help:    "Choose the style for the graticule labels"
  573.     NextControl:    24
  574.     ContentKind:    4
  575.     Constraints:    0x55
  576.     Listening:    1
  577.     Label:    "Label text style:"
  578. )
  579.  
  580. (AVCBBox.65
  581.     InternalName:    "GratLineWt"
  582.     Help:    "Choose the line width for the graticule lines"
  583.     NextControl:    24
  584.     ContentKind:    4
  585.     Constraints:    0x55
  586.     Listening:    1
  587.     Label:    "Graticule line width (pts):"
  588. )
  589.  
  590. (AVCBBox.66
  591.     InternalName:    "GratColor"
  592.     Help:    "Choose the color for the graticule lines, tics, and labels"
  593.     NextControl:    24
  594.     ContentKind:    4
  595.     Constraints:    0x55
  596.     Listening:    1
  597.     Label:    "Graticule color:"
  598. )
  599.  
  600. (TextLabel.67
  601.     InternalName:    "aTextLabel60"
  602.     Constraints:    0x55
  603.     Label:    "Choose options for your graticule:"
  604.     Listening:    1
  605. )
  606.  
  607. (TextLabel.68
  608.     InternalName:    "aTextLabel61"
  609.     Constraints:    0x55
  610.     Label:    "Choose latitude and longitude intervals:"
  611.     Listening:    1
  612. )
  613.  
  614. (AVCBBox.69
  615.     InternalName:    "Degrees"
  616.     Help:    "Choose the number of degrees minutes and seconds that will separate each graticule line/tic"
  617.     NextControl:    24
  618.     ContentKind:    4
  619.     Constraints:    0x55
  620.     Listening:    1
  621.     Label:    "Degrees:"
  622. )
  623.  
  624. (AVCBBox.70
  625.     InternalName:    "Minutes"
  626.     Help:    "Choose the number of degrees minutes and seconds that will separate each graticule line/tic"
  627.     NextControl:    24
  628.     ContentKind:    4
  629.     Constraints:    0x55
  630.     Listening:    1
  631.     Label:    "Minutes:"
  632. )
  633.  
  634. (AVCBBox.71
  635.     InternalName:    "Seconds"
  636.     NextControl:    24
  637.     ContentKind:    4
  638.     Constraints:    0x55
  639.     Listening:    1
  640.     Label:    "Seconds:"
  641. )
  642.  
  643. (AVCBBox.72
  644.     InternalName:    "longsec"
  645.     NextControl:    24
  646.     ContentKind:    4
  647.     Constraints:    0x55
  648.     Listening:    1
  649.     Label:    "Seconds:"
  650. )
  651.  
  652. (AVCBBox.73
  653.     InternalName:    "longmin"
  654.     Help:    "Choose the number of degrees minutes and seconds that will separate each graticule line/tic"
  655.     NextControl:    24
  656.     ContentKind:    4
  657.     Constraints:    0x55
  658.     Listening:    1
  659.     Label:    "Minutes:"
  660. )
  661.  
  662. (AVCBBox.74
  663.     InternalName:    "longdeg"
  664.     Help:    "Choose the number of degrees minutes and seconds that will separate each graticule line/tic"
  665.     NextControl:    24
  666.     ContentKind:    4
  667.     Constraints:    0x55
  668.     Listening:    1
  669.     Label:    "Degrees:"
  670. )
  671.  
  672. (RectD.75
  673.     Left:    37.00000000000000
  674.     Top:    53.00000000000000
  675.     Right:    136.00000000000000
  676.     Bottom:    30.00000000000000
  677. )
  678.  
  679. (RectD.76
  680.     Left:    188.00000000000000
  681.     Top:    53.00000000000000
  682.     Right:    361.00000000000000
  683.     Bottom:    30.00000000000000
  684. )
  685.  
  686. (RectD.77
  687.     Left:    9.00000000000000
  688.     Top:    309.00000000000000
  689.     Right:    239.00000000000000
  690.     Bottom:    189.00000000000000
  691. )
  692.  
  693. (RectD.78
  694.     Left:    9.00000000000000
  695.     Top:    331.00000000000000
  696.     Right:    239.00000000000000
  697.     Bottom:    211.00000000000000
  698. )
  699.  
  700. (RectD.79
  701.     Left:    9.00000000000000
  702.     Top:    353.00000000000000
  703.     Right:    239.00000000000000
  704.     Bottom:    233.00000000000000
  705. )
  706.  
  707. (RectD.80
  708.     Left:    9.00000000000000
  709.     Top:    263.00000000000000
  710.     Right:    239.00000000000000
  711.     Bottom:    143.00000000000000
  712. )
  713.  
  714. (RectD.81
  715.     Left:    9.00000000000000
  716.     Top:    285.00000000000000
  717.     Right:    239.00000000000000
  718.     Bottom:    165.00000000000000
  719. )
  720.  
  721. (RectD.82
  722.     Left:    8.00000000000000
  723.     Top:    38.00000000000000
  724.     Right:    250.00000000000000
  725.     Bottom:    11.00000000000000
  726. )
  727.  
  728. (RectD.83
  729.     Left:    9.00000000000000
  730.     Top:    70.00000000000000
  731.     Right:    361.00000000000000
  732.     Bottom:    54.00000000000000
  733. )
  734.  
  735. (RectD.84
  736.     Left:    28.00000000000000
  737.     Top:    195.00000000000000
  738.     Right:    172.00000000000000
  739.     Bottom:    75.00000000000000
  740. )
  741.  
  742. (RectD.85
  743.     Left:    28.00000000000000
  744.     Top:    217.00000000000000
  745.     Right:    172.00000000000000
  746.     Bottom:    97.00000000000000
  747. )
  748.  
  749. (RectD.86
  750.     Left:    28.00000000000000
  751.     Top:    239.00000000000000
  752.     Right:    172.00000000000000
  753.     Bottom:    119.00000000000000
  754. )
  755.  
  756. (RectD.87
  757.     Left:    194.00000000000000
  758.     Top:    239.00000000000000
  759.     Right:    338.00000000000000
  760.     Bottom:    119.00000000000000
  761. )
  762.  
  763. (RectD.88
  764.     Left:    194.00000000000000
  765.     Top:    217.00000000000000
  766.     Right:    338.00000000000000
  767.     Bottom:    97.00000000000000
  768. )
  769.  
  770. (RectD.89
  771.     Left:    194.00000000000000
  772.     Top:    195.00000000000000
  773.     Right:    338.00000000000000
  774.     Bottom:    75.00000000000000
  775. )
  776.  
  777. (LButn.90
  778.     InternalName:    "Finish"
  779.     Help:    "Previews the graticule or grid using the current settings"
  780.     Label:    "Preview"
  781.     Click:    "GratGrids.LayoutGraticule Create"
  782. )
  783.  
  784. (LButn.91
  785.     InternalName:    "Next"
  786.     Help:    "Shows the next panel of the graticule and grid wizard"
  787.     Label:    "Next >>"
  788.     Click:    "GratGrids.LayoutGraticule Update Panels"
  789. )
  790.  
  791. (LButn.92
  792.     InternalName:    "Back"
  793.     Help:    "Shows the previous panel of the graticule and grid wizard"
  794.     Label:    "<< Back"
  795.     Click:    "GratGrids.LayoutGraticule Update Panels"
  796. )
  797.  
  798. (LButn.93
  799.     InternalName:    "Cancel"
  800.     Help:    "Closes the graticule and grid wizard without adding anything to your layout"
  801.     Label:    "Cancel"
  802.     Click:    "GratGrids.LayoutGraticule Update Panels"
  803. )
  804.  
  805. (CPanel.94
  806.     InternalName:    "gridpanel"
  807.     Child:    95
  808.     Child:    96
  809.     Child:    98
  810.     Child:    99
  811.     Child:    100
  812.     Child:    101
  813.     Child:    102
  814.     Child:    103
  815.     Child:    104
  816.     Child:    105
  817.     Constraints:    0x55
  818.     ResBox:    106
  819.     ResBox:    107
  820.     ResBox:    108
  821.     ResBox:    109
  822.     ResBox:    110
  823.     ResBox:    111
  824.     ResBox:    112
  825.     ResBox:    113
  826.     ResBox:    114
  827.     ResBox:    115
  828.     VisibleBorder:    1
  829.     Listening:    1
  830. )
  831.  
  832. (TextLabel.95
  833.     InternalName:    "aTextLabel67"
  834.     Constraints:    0x55
  835.     Label:    "Choose options for your grid:"
  836.     Listening:    1
  837. )
  838.  
  839. (TextLine.96
  840.     InternalName:    "GridInt"
  841.     Help:    "Enter a grid interval in meters"
  842.     Label:    "Enter a grid interval:"
  843.     Constraints:    0x55
  844.     Listening:    1
  845.     TextType:    97
  846.     Size:    3
  847.     NextControl:    24
  848. )
  849.  
  850. (AVEnum.97
  851.     Name:    "TEXTLINE_TYPE_INTEGER"
  852. )
  853.  
  854. (TextLabel.98
  855.     InternalName:    "aTextLabel69"
  856.     Constraints:    0x55
  857.     Label:    "Display grid as:"
  858.     Listening:    1
  859. )
  860.  
  861. (RButn.99
  862.     InternalName:    "GridTics"
  863.     Help:    "Choose this to display the grid as tick marks that look like this:  +"
  864.     Constraints:    0x55
  865.     Listening:    1
  866.     Label:    "tic marks"
  867. )
  868.  
  869. (RButn.100
  870.     InternalName:    "GridLines"
  871.     Help:    "Check this to display the grid as lines"
  872.     Constraints:    0x55
  873.     Listening:    1
  874.     Label:    "lines"
  875. )
  876.  
  877. (AVCBBox.101
  878.     InternalName:    "GridColor"
  879.     Help:    "Choose a color for the grid labels and lines or tics"
  880.     NextControl:    24
  881.     ContentKind:    4
  882.     Constraints:    0x55
  883.     Listening:    1
  884.     Label:    "Grid and label color:"
  885. )
  886.  
  887. (AVCBBox.102
  888.     InternalName:    "GridLineWt"
  889.     Help:    "Choose the line width for the grid lines or tics"
  890.     NextControl:    24
  891.     ContentKind:    4
  892.     Constraints:    0x55
  893.     Listening:    1
  894.     Label:    "Grid line width (pts):"
  895. )
  896.  
  897. (AVCBBox.103
  898.     InternalName:    "GridLabFont"
  899.     Help:    "Choose the font for the grid labels"
  900.     NextControl:    24
  901.     ContentKind:    4
  902.     Constraints:    0x55
  903.     Listening:    1
  904.     Label:    "Label font:"
  905.     Select:    "GratGrids.LayoutGraticule Font Changed"
  906. )
  907.  
  908. (AVCBBox.104
  909.     InternalName:    "GridLabelSize"
  910.     Help:    "Choose the size for the grid labels"
  911.     NextControl:    24
  912.     ContentKind:    4
  913.     Constraints:    0x55
  914.     Listening:    1
  915.     Label:    "Label size (pts):"
  916. )
  917.  
  918. (AVCBBox.105
  919.     InternalName:    "GridLabelStyle"
  920.     Help:    "Choose the style for the grid labels"
  921.     NextControl:    24
  922.     ContentKind:    4
  923.     Constraints:    0x55
  924.     Listening:    1
  925.     Label:    "Label text style:"
  926. )
  927.  
  928. (RectD.106
  929.     Left:    8.00000000000000
  930.     Top:    32.00000000000000
  931.     Right:    231.00000000000000
  932.     Bottom:    13.00000000000000
  933. )
  934.  
  935. (RectD.107
  936.     Left:    20.00000000000000
  937.     Top:    59.00000000000000
  938.     Right:    260.00000000000000
  939.     Bottom:    39.00000000000000
  940. )
  941.  
  942. (RectD.108
  943.     Left:    20.00000000000000
  944.     Top:    97.00000000000000
  945.     Right:    129.00000000000000
  946.     Bottom:    76.00000000000000
  947. )
  948.  
  949. (RectD.109
  950.     Left:    126.00000000000000
  951.     Top:    84.00000000000000
  952.     Right:    250.00000000000000
  953.     Bottom:    68.00000000000000
  954. )
  955.  
  956. (RectD.110
  957.     Left:    126.00000000000000
  958.     Top:    107.00000000000000
  959.     Right:    230.00000000000000
  960.     Bottom:    85.00000000000000
  961. )
  962.  
  963. (RectD.111
  964.     Left:    20.00000000000000
  965.     Top:    258.00000000000000
  966.     Right:    260.00000000000000
  967.     Bottom:    138.00000000000000
  968. )
  969.  
  970. (RectD.112
  971.     Left:    20.00000000000000
  972.     Top:    236.00000000000000
  973.     Right:    260.00000000000000
  974.     Bottom:    116.00000000000000
  975. )
  976.  
  977. (RectD.113
  978.     Left:    20.00000000000000
  979.     Top:    293.00000000000000
  980.     Right:    260.00000000000000
  981.     Bottom:    173.00000000000000
  982. )
  983.  
  984. (RectD.114
  985.     Left:    20.00000000000000
  986.     Top:    315.00000000000000
  987.     Right:    260.00000000000000
  988.     Bottom:    195.00000000000000
  989. )
  990.  
  991. (RectD.115
  992.     Left:    20.00000000000000
  993.     Top:    337.00000000000000
  994.     Right:    260.00000000000000
  995.     Bottom:    217.00000000000000
  996. )
  997.  
  998. (LButn.116
  999.     InternalName:    "aLabelButton1"
  1000.     Label:    "Help..."
  1001.     Click:    "GratGrids.Help"
  1002. )
  1003.  
  1004. (RectD.117
  1005.     Left:    9.00000000000000
  1006.     Top:    275.00000000000000
  1007.     Right:    558.00000000000000
  1008.     Bottom:    3.00000000000000
  1009. )
  1010.  
  1011. (RectD.118
  1012.     Left:    36.00000000000000
  1013.     Top:    585.00000000000000
  1014.     Right:    401.00000000000000
  1015.     Bottom:    326.00000000000000
  1016. )
  1017.  
  1018. (RectD.119
  1019.     Left:    589.00000000000000
  1020.     Top:    675.00000000000000
  1021.     Right:    954.00000000000000
  1022.     Bottom:    417.00000000000000
  1023. )
  1024.  
  1025. (RectD.120
  1026.     Left:    589.00000000000000
  1027.     Top:    416.00000000000000
  1028.     Right:    954.00000000000000
  1029.     Bottom:    158.00000000000000
  1030. )
  1031.  
  1032. (RectD.121
  1033.     Left:    476.00000000000000
  1034.     Top:    305.00000000000000
  1035.     Right:    558.00000000000000
  1036.     Bottom:    280.00000000000000
  1037. )
  1038.  
  1039. (RectD.122
  1040.     Left:    390.00000000000000
  1041.     Top:    305.00000000000000
  1042.     Right:    472.00000000000000
  1043.     Bottom:    280.00000000000000
  1044. )
  1045.  
  1046. (RectD.123
  1047.     Left:    304.00000000000000
  1048.     Top:    305.00000000000000
  1049.     Right:    386.00000000000000
  1050.     Bottom:    280.00000000000000
  1051. )
  1052.  
  1053. (RectD.124
  1054.     Left:    218.00000000000000
  1055.     Top:    305.00000000000000
  1056.     Right:    299.00000000000000
  1057.     Bottom:    280.00000000000000
  1058. )
  1059.  
  1060. (RectD.125
  1061.     Left:    589.00000000000000
  1062.     Top:    158.00000000000000
  1063.     Right:    954.00000000000000
  1064.     Bottom:    -101.00000000000000
  1065. )
  1066.  
  1067. (RectD.126
  1068.     Left:    9.00000000000000
  1069.     Top:    305.00000000000000
  1070.     Right:    90.00000000000000
  1071.     Bottom:    280.00000000000000
  1072. )
  1073.  
  1074. (Nil.127
  1075. )
  1076.  
  1077. (Script.128
  1078.     Name:    "GratGrids.LayoutGraticule Border Display Option"
  1079.     SourceCode:    "MTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\n\n\nCancelButton = MTD.FindByName(\"Cancel\")\nBackButton = MTD.FindByName(\"Back\")\nNextButton = MTD.FindByName(\"Next\")\nFinishButton = MTD.FindByName(\"Finish\")\nOptionPanel = MTD.FindByName(\"OptionPanel\")\nGratPanel = MTD.FindByName(\"GratOptions\")\nGridPanel = MTD.FindByName(\"gridpanel\")\nBorderPanel = MTD.FindByName(\"graphicoptions\")\nMapBorderStyle = MTD.FindByName(\"MapBorderStyle\")\nMapBorderColor = MTD.FindByName(\"MapBorderColor\")\nLabelBorderColor = MTD.
  1080. FindByName(\"LabelBorderColor\")\nLabelBorderStyle = MTD.FindByName(\"LabelBorderStyle\")\nLabelBorderOptions = MTD.FindByName(\"LabelBorderOptions\")\nMapBorderOptions = MTD.FindByName(\"MapBorderOptions\")\nBorderAroundMap = MTD.FindByName(\"BorderAroundMap\")\nBorderAroundLabels = MTD.FindByName(\"BorderAroundLabels\")\n\nif (BorderAroundMap.IsSelected) then\n  MapBorderStyle.SetEnabled(true)\n  MapBorderColor.SetEnabled(true)\n  MapBorderOptions.SetEnabled(true)\nelse\n  MapBorderStyle.SetEnabled(false)\n  MapBorderColor.SetEna
  1081. bled(false)\n  MapBorderOptions.SetEnabled(false)\nend\n\nif (BorderAroundLabels.IsSelected) then\n  LabelBorderColor.SetEnabled(true)\n  LabelBorderStyle.SetEnabled(true)\n  LabelBorderOptions.SetEnabled(true)\nelse\n  LabelBorderColor.SetEnabled(false)\n  LabelBorderStyle.SetEnabled(false)\n  LabelBorderOptions.SetEnabled(false)\nend"
  1082. )
  1083.  
  1084. (Script.129
  1085.     Name:    "GratGrids.LayoutGraticule Change View"
  1086.     SourceCode:    "theLayout   = av.GetActiveDoc\nif ( Not (theLayout.is(Layout))) then\n  Msgbox.Info(\"Please make your layout active again.\",\"Oops\")\n  return nil\nend\ntheGraphics = theLayout.GetGraphics\nMTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\nViewFrames = MTD.FindByName(\"viewFrames\")\n\n\ntheView = av.GetProject.FindDoc(ViewFrames.GetSelection)\nvfs = av.GetActiveDoc.GetGraphics.FindAllByClass(ViewFrame)\nvfl = {}\nHasPrjData = false\nthisPrj = theView.GetProjection\nif (thisPrj.IsNull) then\n  for each t in theVi
  1087. ew.GetThemes\n    te = t.ReturnExtent.AsPolygon\n    br = Rect.MakeXY(-181,-90,181,90).AsPolygon\n    if (br.Contains(te).Not) then\n      MTD.FindByName(\"SelectGrat\").SetSelected(false)\n      MTD.FindByName(\"SelectGrat\").SetEnabled(false)\n      HasPrjData = true\n      break\n    end\n  end\nend\n\nif ((HasPrjData.Not) and (MTD.FindByName(\"SelectGrat\").IsEnabled.Not)) then\n  MTD.FindByName(\"SelectGrat\").SetSelected(true)\n  MTD.FindByName(\"SelectGrat\").SetEnabled(true)\nend\n\nfor each vf in vfs\n  tV = vf.GetFillObject.
  1088. GetName\n  if (tV = theView.GetName) then\n    theGraphic = vf\n  end\nend\n\nMTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\n\nxyRect = theGraphic.GetMapDisplay.ReturnExtent\nxyOrigin = xyrect.ReturnOrigin\nxySize = xyrect.ReturnSize\nminLength =  xySize.GetX Min xySize.GetY\nxyIntervals =  {20000000,10000000,5000000,2000000,1000000,500000,200000,100000,50000,20000,10000,5000,2000,1000,500,200,100,50,20,10,5,2,1 }\nrawInterval =  minLength / 4   ' 4 is the default number of lines\ntheInterval =  xyInterva
  1089. ls.Get( xyIntervals.Count - 1 )\nfor each val in xyIntervals\n  if (rawInterval >=  val) then\n     theInterval =  val\n     break\n  end\nend\ntheInt = theInterval.SetFormat(\"d\")\nMTD.FindByName(\"GridInt\").SetText(theInt.AsString)"
  1090. )
  1091.  
  1092. (Script.130
  1093.     Name:    "GratGrids.LayoutGraticule Create"
  1094.     SourceCode:    "MTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\ntheLayout   = av.GetActiveDoc\nif ( Not (theLayout.is(Layout))) then\n  Msgbox.Info(\"Please make your layout active again.\",\"Oops\")\n  return nil\nend\ntheGraphics = theLayout.GetGraphics\nif (Self.GetLabel = \"Finish\") then\n  theGraphics.UnSelectAll\n  tests = theGraphics.FindAllByName(\"Preview_GratGrid\")\n  if (tests <> nil) then\n    for each gsgx in tests\n      gsgx.SetSelected(true)\n      gsgx.SetName(\"Final\")\n    end\n    theGraphics.GroupSelected\n   
  1095.  theGraphics.GroupSelected\n    theGraphics.GetSelected.Get(0).SetName(\"Final\")\n  end\n  MTD.Close\n  return nil\nend\n\ntheGraphics = theLayout.GetGraphics\nlAdj = 0\n\nBackButton = MTD.FindByName(\"Back\")\nNextButton = MTD.FindByName(\"Next\")\nFinishButton = MTD.FindByName(\"Finish\")\nOptionPanel = MTD.FindByName(\"OptionPanel\")\nGratPanel = MTD.FindByName(\"GratOptions\")\nGridPanel = MTD.FindByName(\"gridpanel\")\nBorderPanel = MTD.FindByName(\"graphicoptions\")\nViewFrames = MTD.FindByName(\"viewFrames\")\nSelGrat = MTD.FindByName
  1096. (\"SelectGrat\")\nSelGrid = MTD.FindByName(\"SelectGrid\")\nDegrees = MTD.FindByName(\"Degrees\").GetCurrentValue.AsNumber \nMinutes = MTD.FindByName(\"Minutes\").GetCurrentValue.AsNumber \nSeconds = MTD.FindByName(\"Seconds\").GetCurrentValue.AsNumber \nlongdeg = MTD.FindByName(\"longdeg\").GetCurrentValue.AsNumber\nlongmin = MTD.FindByName(\"longmin\").GetCurrentValue.AsNumber\nlongsec = MTD.FindByName(\"longsec\").GetCurrentValue.AsNumber\nGratLabFont = MTD.FindByName(\"GratLabFont\").GetCurrentValue\nGridLabFont = MTD.FindByName(
  1097. \"GridLabFont\").GetCurrentValue\nLabelBorderColor = MTD.FindByName(\"LabelBorderColor\").GetCurrentValue\nMapBorderColor = MTD.FindByName(\"MapBorderColor\").GetCurrentValue\nGridColor = MTD.FindByName(\"GridColor\").GetCurrentValue\nGratColor = MTD.FindByName(\"GratColor\").GetCurrentValue\nGratAndLab = MTD.FindByName(\"GratandLab\")\nLabOnly = MTD.FindByName(\"LabOnly\").IsSelected\nGridInt = MTD.FindByName(\"GridInt\").GetText\nGridLines = MTD.FindByName(\"GridLines\").IsSelected\nGridTics = MTD.FindByName(\"GridTics\").IsSelected\n
  1098. GridLineWt = MTD.FindByName(\"GridLineWt\").GetCurrentValue.AsNumber\nGratLineWt = MTD.FindByName(\"GratLineWt\").GetCurrentValue.AsNumber\nMapBorderLineWt = 3\nLabelBorderLineWt = 3\nMapBorderStyle = MTD.FindByName(\"MapBorderStyle\").GetCurrentValue.GetName\nLabelBorderStyle = MTD.FindByName(\"LabelBorderStyle\").GetCurrentValue.GetName\nGridLabelSize = MTD.FindByName(\"GridLabelSize\").GetCurrentValue.AsNumber\nGratLabelSize = MTD.FindByName(\"GratLabelSize\").GetCurrentValue.AsNumber\nGridLabelStyle = MTD.FindByName(\"GridL
  1099. abelStyle\").GetCurrentValue\nGratLabelStyle = MTD.FindByName(\"GratLabelStyle\").GetCurrentValue\nLabelBorderOptions = MTD.FindByName(\"LabelBorderOptions\")\nMapBorderOptions = MTD.FindByName(\"MapBorderOptions\")\nBorderAroundMap = MTD.FindByName(\"BorderAroundMap\").IsSelected\nBorderAroundLabels = MTD.FindByName(\"BorderAroundLabels\").IsSelected\nAlignLabels = MTD.FindByName(\"AlignLabels\").IsSelected\n\nvAdj = GratLabelSize/(720) \n\n'*******************************************************************\n'* Set variables tha
  1100. t tell which graphical options are to be used. *\n'*******************************************************************\n\ndoXYGrid = false\ndoGridLines = false\ndoGraticule = false\ndoLatLongs = false \nif (SelGrat.IsSelected) then\n  doGraticule = true\n  if (GratAndLab.IsSelected) then\n    doLatLongs = true \n  end \nend\nif (SelGrid.IsSelected) then\n  doXYGrid = true\n  if (GridLines) then\n    doGridLines = true\n  end\nend\n\ntheView = av.GetProject.FindDoc(ViewFrames.GetSelection)\nvfs = av.GetActiveDoc.GetGraphics.Find
  1101. AllByClass(ViewFrame)\nvfl = {}\nIsProj = true\nfor each vf in vfs\n  tV = vf.GetFillObject.GetName\n  if (tV = theView.GetName) then\n    theGraphic = vf\n  end\nend\n\ntheView = theGraphic.GetFillObject\nthisPrj = theView.GetProjection\nif (thisPrj.IsNull) then\n  isProj = false\nend\n\n' Extent of view frame in page units (inches)\ndOrigin = theGraphic.GetOrigin\ndSize = theGraphic.GetExtent\ndRect =  Rect.Make( dOrigin, dSize )\n\n' Extent of view frame in map units to solve a feature in \n' ReturnExtents that gives erroniou
  1102. s results when extentpreserved \n' is set to true set extent preserved to false, get the extent, \n' and set it back to its original value.\ncurSetting = theGraphic.IsExtentPreserved \ntheGraphic.SetExtentPreserved(false)\nxyRect = theGraphic.GetMapDisplay.ReturnExtent \nxyOrigin = xyrect.ReturnOrigin \nxySize = xyrect.ReturnSize\ntheGraphic.SetExtentPreserved(curSetting) \n\n' This is how to translate a point from map coords to page coords\n'aPt = dOrigin + ( ((p - xyOrigin) / xySize) * dSize)\n\nxMin = xyOrigin.GetX\ny
  1103. Min = xyOrigin.GetY\nxMax = xMin + xySize.GetX\nyMax =  yMin + xySize.GetY\n\nif ( doGraticule ) then\n  point1= Point.Make(xMin,yMin)\n  point2= Point.Make(xMax,yMin)\n  point3= Point.Make(xMax,yMax)\n  point4= Point.Make(xMin,yMax)\n  point5= Point.Make((xMin+(xMax-xMin)/2),yMin)\n  point6= Point.Make(xMax,(yMin+(yMax-yMin)/2))\n  point7= Point.Make((xMin+(xMax-xMin)/2),yMax)\n  point8= Point.Make(xMin,(yMin+(yMax-yMin)/2))\n  if (IsProj) then\n    a = thisPrj.UnProjectPt(point1)\n    b = thisPrj.UnProjectPt(point2)\n   
  1104.  c = thisPrj.UnProjectPt(point3)\n    d = thisPrj.UnProjectPt(point4)\n    e = thisPrj.UnProjectPt(point5)\n    f = thisPrj.UnProjectPt(point6)\n    g = thisPrj.UnProjectPt(point7)\n    h = thisPrj.UnProjectPt(point8)\n  else\n    a = true\n    b = true\n    c = true\n    d = true\n    e = true\n    f = true\n    g = true\n    h = true\n  end\n  if (((d) and (h) and (a)) and (a <> false)) then\n    minlon= (Point1.GetX)Min(Point4.GetX)Min(Point8.GetX)Max(-180)\n  else\n    minlon = -180\n  end\n  if (((a) and (b) and (e)) and (
  1105. a <> false)) then\n    minlat= (Point1.GetY)Min(Point2.GetY)Min(Point5.GetY)Max(-90)\n  else\n    minlat = -90\n  end\n  if (((b) and (c) and (f)) and (b <> false)) then\n    maxlon= (Point2.GetX)Max(Point3.GetX)Max(Point6.GetX)Min(180)\n  else\n    maxlon = 180\n  end\n  if (((c) and (d) and (g)) and (c <> false)) then\n    maxlat= (Point3.GetY)Max(Point4.GetY)Max(Point7.GetY)Min(90)\n  else\n    maxlat = 90\n  end\n  lonInterval =  longdeg + ( longmin / 60) + ( longsec / 3600)\n  latInterval =  degrees + ( Minutes / 60) 
  1106. + ( Seconds / 3600)\nend\n\nif ( doXYGrid ) then   \n  metresInt = GridInt\n  gratdx =  metresInt.AsNumber\n  gratdy =  gratdx\n  gratxs= (xMin/gratdx).Floor * gratdx - gratdx\n  gratys= (yMin/gratdy).Floor * gratdy - gratdy\n  gratxe= (xMax/gratdx).Ceiling * gratdx + gratdx\n  gratye= (yMax/gratdy).Ceiling * gratdy + gratdy\nend\n\ncolorNames = {\"Black\",\"Red\",\"Blue\",\"Dark Green\",\"White\",\"Dark Gray\"}\ncolorDefs = {{0,0,0},{255,0,0},{0,0,255},{0,150,0},{255,255,255},{100,100,100}}\nfor each cn in colorNames\n  if (GratColor
  1107.  = cn) then\n    GraticuleColor = Color.Make\n    GraticuleColor.SetRGBList(ColorDefs.Get(colorNames.FindByValue(cn)))\n  end\n  if (GridColor = cn) then\n    XYGridColor = Color.Make\n    XYGridColor.SetRGBList(ColorDefs.Get(colorNames.FindByValue(cn)))\n  end\n  if (MapBorderColor = cn) then\n    MBColor = Color.Make\n    MBColor.SetRGBList(ColorDefs.Get(colorNames.FindByValue(cn)))\n  end\n  if (LabelBorderColor = cn) then\n    LBColor = Color.Make\n    LBColor.SetRGBList(ColorDefs.Get(colorNames.FindByValue(cn)))\n  e
  1108. nd\nend\n\n\ngeolfont= Font.Make(GratLabFont,GratLabelStyle)\ngeolSymbol= TextSymbol.Make\ngeolSymbol.SetFont(geolfont)\ngeolSymbol.SetColor(GraticuleColor)\ngeolsymbol.SetSize(GratLabelSize)\n\nxyfont= Font.Make(GridLabFont,GridLabelStyle)\nxySymbol= TextSymbol.Make\nxySymbol.SetFont(xyfont)\nxySymbol.SetColor(XYGridColor)\nxysymbol.SetSize(GridLabelSize)\n\n'** XYGrid Line Symbol\nblackLine= Symbol.Make(#SYMBOL_PEN)\nblackLine.SetColor(XYGridColor)\nblackLine.SetSize(GridLineWt)\n\n\n'** Map Border Symbol\nthickblackLine= Symbo
  1109. l.Make(#SYMBOL_PEN)\nthickblackLine.SetColor(MBColor)\nthickblackLine.SetSize(MapBorderLineWt)\n\n'** Graticule Line Symbol\ngratLine= Symbol.Make(#SYMBOL_PEN)\ngratLine.SetColor(GraticuleColor)\ngratLine.SetSize(GratLineWt)\n\n\nLabelsmade = {}\n\n'** Draw the lat/long graticule, with labels all around\n'** Collect graticule lines clipped to the window\n\nif ( doGraticule ) then\n\n  latStartActual = -90\n  latEndActual = 90\n  lonStartActual = -180\n  lonEndActual = 180\n  \n  if (((maxlat - minlat) > 10) and ((maxlat - minlat
  1110. ) <= 20)) then\n    latStartNice = (minlat/2).Floor * 2\n    latEndNice = (maxlat/2).Ceiling * 2\n    lonStartNice = (minlon/2).Floor * 2\n    lonEndNice = (maxlon/2).Ceiling * 2\n  elseif (((maxlat - minlat) > 20) and ((maxlat - minlat) <= 50)) then\n    latStartNice = (minlat/5).Floor * 5\n    latEndNice = (maxlat/5).Ceiling * 5\n    lonStartNice = (minlon/5).Floor * 5\n    lonEndNice = (maxlon/5).Ceiling * 5\n  elseif((maxlat - minlat) > 50) then\n    latStartNice = (minlat/10).Floor * 10\n    latEndNice = (maxlat/1
  1111. 0).Ceiling * 10\n    lonStartNice = (minlon/10).Floor * 10\n    lonEndNice = (maxlon/10).Ceiling * 10\n  else\n    latStartNice = minlat.Floor\n    latEndNice = maxlat.Ceiling\n    lonStartNice = minlon.Floor\n    lonEndNice = maxlon.Ceiling  \n  end\n  \n  \n  latList =  {}\n  for each lat in latStartNice .. latEndNice by latInterval\n    aLine =  Line.Make( lonStartActual@lat, lonEndActual@lat )\n    if (IsProj) then\n      prjLine =  aLine.ReturnProjected( thisPrj ).ReturnClipped( xyRect )\n    else\n      prjLine =  aLi
  1112. ne.AsPolyLine.ReturnClipped( xyRect )    \n    end\n    if ( prjLine <> nil ) then\n      latList =  latList.Add( {lat, prjLine} )\n    end\n  end\n  lonList =  {}\n  for each lon in lonStartNice .. lonEndNice by lonInterval\n    aLine =  Line.Make( lon@latStartActual, lon@latEndActual )\n    if (IsProj) then\n      prjLine =  aLine.ReturnProjected( thisPrj ).ReturnClipped( xyRect )\n    else\n      prjLine =  aLine.AsPolyLine.ReturnClipped( xyRect )    \n    end\n    if ( prjLine <> nil ) then\n      lonList =  lonList.A
  1113. dd( {lon, prjLine} )\n    end\n  end\n\n  for each aList in latList\n    lat =  aList.Get(0)\n    prjLine =  aList.Get(1)\n    gPolyLine =  {}\n    for each ptList in prjLine.AsList\n      gPtList =  {}\n      for each aPt in ptList\n        thePt =  dOrigin + ( ((aPt - xyOrigin) / xySize) * dSize)\n        gPtList =  gPtList.Add( thePt )\n      end\n      gPolyLine =  gPolyLine.Add( gPtList )\n    end\n    theGratLine =  GraphicShape.Make( PolyLine.Make(gPolyLine) )\n    theGratLine.SetDisplay(theLayout.GetDisplay)\n    the
  1114. GratLine.SetName(\"Preview_GratGrid\")\n    theGratLine.SetSymbol( gratLine )\n    if (LabOnly.Not) then\n      theGraphics.AddBatch( theGratLine )\n    end\n    for each ptList in prjLine.AsList\n      for each endPt in { ptList.Get(0), ptList.Get(ptList.Count-1) }\n        deg = lat.Abs.Truncate.SetFormat(\"d\")\n        labelString =  deg.AsString+\"░\"\n        t = ( lat.Abs - deg ) * 60\n        minute = t.Truncate.SetFormat(\"d\")\n        if ( (t - minute) >=  0.9998 ) then\n          minute = minute + 1\n        end\n   
  1115.      if ( minute > 0 ) then\n           labelString =  labelString+minute.AsString+\"'\"\n        elseif (Minutes > 0) then\n           labelString =  labelString+\"00'\"        \n        end\n        if ( (t - minute) > 0.0002 ) then\n          sec = ((t - minute) * 60).Round\n          sec = sec.Truncate.SetFormat(\"d\")\n          if (sec > 9) then\n            labelString = labelString+sec.AsString+\"\"\"\"\n          else\n            labelString = labelString+\"0\"+sec.AsString+\"\"\"\"           \n          end\n        elseif (
  1116. Seconds > 0) then\n          labelString = labelString + \"00\"\"\"\n        end\n  ' ... put latitude label\n        aPt =  dOrigin + ( ((endPt - xyOrigin) / xySize) * dSize)\n        mygText= GraphicText.Make(labelString,aPt)\n        mygText.setobjecttag(\"mygText\")\n        mygText.SetSymbol(geolsymbol)\n        mygText.SetDisplay(theLayout.GetDisplay)\n        gpoint2 =  GraphicShape.Make(aPt)\n        tph= TextPositioner.Make(gpoint2.GetClass)\n        Gt = 0.06\n        if (doXYGrid) then\n          Gt = 0.2\n        e
  1117. nd\n\n        if ( (aPt.GetX - 0.05) <=  dRect.GetLeft ) then\n          theGratLine =  GraphicShape.Make( Line.Make( aPt-(0.05@0), aPt ) )\n          o = aPt.Clone - ((mygText.GetExtent.GetX + 0.06)@(mygText.GetExtent.GetY/2))\n          if (AlignLabels) then\n            mygText.SetAngle(90)\n            o = aPt.Clone - ((mygText.GetExtent.GetX + Gt)@(mygText.GetExtent.GetY/2))\n          end\n        elseif ( (aPt.GetX + 0.05) >=  dRect.GetRight ) then\n          theGratLine =  GraphicShape.Make( Line.Make( aPt+(0
  1118. .05@0), aPt ) )\n          o = aPt.Clone + ((0.06)@(-(mygText.GetExtent.GetY/2)))\n          if (AlignLabels) then\n            mygText.SetAngle(-90)\n            o = aPt.Clone + ((Gt)@(-(mygText.GetExtent.GetY/2)))\n          end\n        elseif ( (aPt.GetY -0.05) <=  dRect.GetBottom ) then\n          theGratLine =  GraphicShape.Make( Line.Make( aPt-(0@0.05), aPt ) )\n          o = aPt.Clone - ((mygText.GetExtent.GetX/2)@(mygText.GetExtent.GetY + (Gt - 0.03)))\n        elseif ( (aPt.GetY + 0.05) >=  dRect.GetTop ) 
  1119. then\n          theGratLine =  GraphicShape.Make( Line.Make( aPt+(0@0.05), aPt ) )\n          o = aPt.Clone - ((mygText.GetExtent.GetX/2)@(-Gt))\n        else\n          continue\n        end\n\n        mygText.SetOrigin(o)\n        addTheLab = true\n        for each l in LabelsMade\n          if (mygText.GetBounds.Intersects(l.GetBounds.Clone.InsetBy(0.03))) then\n            addTheLab = false\n          end\n        end\n        if (addTheLab) then\n          mygText.setobjecttag(\"mygText\")\n          theGraphics.Addbatc
  1120. h(mygText) \n          mygText.SetName(\"Preview_GratGrid\") \n          theGratLine.SetSymbol( gratLine )\n          theGratLine.SetName(\"Preview_GratGrid\")\n          theGraphics.Addbatch(theGratLine)\n          LabelsMade.Add(mygText)\n        end\n      end\n    end\n  end\n\n  for each aList in lonList\n    lon =  aList.Get(0)\n    prjLine =  aList.Get(1)\n    gPolyLine =  {}\n    for each ptList in prjLine.AsList\n      gPtList =  {}\n      for each aPt in ptList\n        thePt =  dOrigin + ( ((aPt - xyOrigin) / xySize) 
  1121. * dSize)\n        gPtList =  gPtList.Add( thePt )\n      end\n      gPolyLine =  gPolyLine.Add( gPtList )\n    end\n    theGratLine =  GraphicShape.Make( PolyLine.Make(gPolyLine) )\n    theGratLine.SetDisplay(theLayout.GetDisplay)\n    theGratLine.SetSymbol( gratLine )\n    theGratLine.SetName(\"Preview_GratGrid\")\n    if (LabOnly.Not) then\n      theGraphics.Addbatch( theGratLine )\n    end\n\n    for each ptList in prjLine.AsList\n      for each endPt in { ptList.Get(0), ptList.Get(ptList.Count-1) }\n        deg= lon.Abs
  1122. .Truncate.SetFormat(\"d\")\n        labelString =  deg.AsString+\"░\"\n        t=  ( lon.Abs - deg ) * 60\n        minute= t.Truncate.SetFormat(\"d\")\n        if ( (t - minute) >=  0.9998 ) then\n          minute =  minute + 1\n        end\n        if ( minute > 0 ) then\n           labelString =  labelString+minute.AsString+\"'\"\n        elseif (longmin > 0) then\n           labelString =  labelString+\"00'\"        \n        end\n        if ( (t - minute) > 0.0002 ) then\n          sec = ((t-minute) * 60).Round\n          sec 
  1123. = sec.Truncate.SetFormat(\"d\")\n          if (sec > 9) then\n            labelString = labelString+sec.AsString+\"\"\"\"\n          else\n            labelString = labelString+\"0\"+sec.AsString+\"\"\"\"           \n          end\n        elseif (longsec > 0) then\n          labelString = labelString + \"00\"\"\"\n        end\n  ' ... put longitude label\n        aPt =  dOrigin + ( ((endPt - xyOrigin) / xySize) * dSize)\n        mygText= GraphicText.Make(labelString,aPt)\n        mygText.setobjecttag(\"mygtext\")\n        mygText.SetSym
  1124. bol(geolsymbol)\n        mygText.SetDisplay(theLayout.GetDisplay)\n        Gt = 0.06\n        if (doXYGrid) then\n          Gt = 0.2\n        end        \n\n        if ( (aPt.GetX + 0.05) <=  dRect.GetLeft ) then\n          theGratLine =  GraphicShape.Make( Line.Make( aPt-(0.05@0), aPt ) )\n          o = aPt.Clone - ((mygText.GetExtent.GetX + 0.06)@(mygText.GetExtent.GetY/2))\n          if (AlignLabels) then\n            mygText.SetAngle(90)\n            o = aPt.Clone - ((mygText.GetExtent.GetX + Gt)@(mygText.GetExtent
  1125. .GetY/2))\n          end\n        elseif ( (aPt.GetX+0.05) >=  dRect.GetRight ) then\n          theGratLine =  GraphicShape.Make( Line.Make( aPt+(0.05@0), aPt ) )\n          o = aPt.Clone + ((0.06)@(-(mygText.GetExtent.GetY/2)))\n          if (AlignLabels) then\n            mygText.SetAngle(-90)\n            o = aPt.Clone + ((Gt)@(-(mygText.GetExtent.GetY/2)))\n          end\n        elseif ( (aPt.GetY - 0.05) <=  dRect.GetBottom ) then\n          theGratLine =  GraphicShape.Make( Line.Make( aPt-(0@0.05), aPt ) )\n   
  1126.        o = aPt.Clone - ((mygText.GetExtent.GetX/2)@(mygText.GetExtent.GetY + (Gt - 0.03)))\n        elseif ( (aPt.GetY + 0.05) >=  dRect.GetTop) then\n          theGratLine =  GraphicShape.Make( Line.Make( aPt+(0@0.05), aPt ) )\n          o = aPt.Clone - ((mygText.GetExtent.GetX/2)@(-Gt))\n        else\n          continue\n        end\n\n        mygText.SetOrigin(o)\n        addTheLab = true\n        for each l in LabelsMade\n          if (mygText.GetBounds.Intersects(l.GetBounds.Clone.InsetBy(0.03))) then\n           
  1127.  addTheLab = false\n          end\n        end\n        if (addTheLab) then\n          mygText.setobjecttag(\"mygText\")\n          theGraphics.Addbatch(mygText)  \n          mygText.SetName(\"Preview_GratGrid\")\n          theGratLine.SetSymbol( gratLine )\n          theGraphics.AddBatch( theGratLine )\n          theGratLine.SetName(\"Preview_GratGrid\")\n          LabelsMade.Add(mygText)\n        end\n      end\n    end   ' of foreach in prjLine\n  end   ' of foreach in lonList\nend   ' of if (doLatLongs)\n\nif ( doXYGrid ) the
  1128. n\n'** Draw metres graticule as lines, with coordinates all around vertical lines\n  if (GridLines) then\n    xoffset =  (gratxe/2)@0\n    yoffset =  0@(gratye/2)\n  else\n    xoffset =  0.0625@0\n    yoffset =  0@0.0625\n  end\n  for each x in gratxs .. gratxe by gratdx\n    if ( (x < xMin) or (x > xMax) ) then\n      continue\n    end\n    for each y in gratys .. gratye by gratdy\n      if ( (y < yMin) or (y > yMax) ) then\n        continue\n      end\n      aPt =  dOrigin + ( ((x@y - xyOrigin) / xySize) * dSize)\n      aP
  1129. olyLine =  PolyLine.Make( {\n        { aPt-xoffset, aPt+xoffset, aPt, aPt-yoffset, aPt+yoffset } } )\n      ggLine =  aPolyLine.ReturnClipped( dRect )\n      gLine =  GraphicShape.Make( ggLine )\n      theGraphics.Addbatch( gLine )\n      gline.SetName(\"Preview_GratGrid\")\n      gLine.SetSymbol(blackline)\n    end\n  end\n  for each x in gratxs .. gratxe by gratdx\n    if ( (x < xMin) or (x > xMax) ) then\n       continue\n    end\n    ' put easting label at ymax\n    aPt =  dOrigin + ( ((Point.Make(x,yMax) - xyOrigin) /
  1130.  xySize) * dSize)\n    if (doGraticule) then\n      gLine =  GraphicShape.Make( Line.Make( aPt, aPt-(0@0.05) ) )\n    else\n      gLine =  GraphicShape.Make( Line.Make( aPt, aPt+(0@0.055) ) )\n    end\n    theGraphics.Addbatch( gLine )\n    gline.SetName(\"Preview_GratGrid\")\n    gLine.SetSymbol( blackLine )\n    aPt =  aPt + Point.Make(0,0.07)\n    mygText= GraphicText.Make(x.SetFormat(\"d\").AsString, aPt)\n    mygText.setobjecttag(\"mygText\")\n    mygText.SetDisplay(theLayout.GetDisplay)\n    theGraphics.Addbatch(mygText
  1131. )\n    mygText.SetName(\"Preview_GratGrid\")\n    mygText.SetSymbol(xySymbol)\n    mygText.SetDisplay(theLayout.GetDisplay)\n    o = aPt - ( (mygText.GetExtent.GetX/2)@(0))\n    mygText.SetOrigin(o)\n'** put easting label at ymin\n    aPt =  dOrigin + ( ((Point.Make(x,yMin) - xyOrigin) / xySize) * dSize)\n    if (doGraticule) then\n      gLine =  GraphicShape.Make( Line.Make( aPt, aPt+(0@0.05) ) )\n    else\n      gLine =  GraphicShape.Make( Line.Make( aPt, aPt-(0@0.055) ) )    \n    end\n    theGraphics.Addbatch( gLine )
  1132. \n    gline.SetName(\"Preview_GratGrid\")\n    gLine.SetSymbol( blackLine )\n    mygText= GraphicText.Make(x.SetFormat(\"d\").AsString, aPt)\n    mygText.setobjecttag(\"mygText\")\n    theGraphics.Addbatch(mygText)\n    mygText.SetName(\"Preview_GratGrid\")\n    mygText.SetSymbol(xySymbol)\n    mygText.SetDisplay(theLayout.GetDisplay)\n    o = aPt - ( (mygText.GetExtent.GetX/2)@(mygText.GetExtent.GetY + 0.03))\n    mygText.SetOrigin(o)\n  end  ' of for each x\n  for each y in gratys .. gratye by gratdy\n    if ( (y < yMin) or (
  1133. y > yMax) ) then\n       continue\n    end\n'** put northing label at xmin\n    aPt =  dOrigin + ( ((Point.Make(xMin,y) - xyOrigin) / xySize) * dSize)\n    if (doGraticule) then\n      gLine =  GraphicShape.Make( Line.Make( aPt+(0.05@0), aPt ) )\n    else\n      gLine =  GraphicShape.Make( Line.Make( aPt-(0.055@0), aPt ) )    \n    end\n    theGraphics.Addbatch( gLine )\n    gline.SetName(\"Preview_GratGrid\")\n    gLine.SetSymbol( blackLine )\n    aPt =  aPt - (0.07@0)\n    mygText= GraphicText.Make(y.SetFormat(\"d\").AsStr
  1134. ing, aPt )\n    mygText.setobjecttag(\"mygText\")\n    theGraphics.Addbatch(mygText)\n    mygText.SetName(\"Preview_GratGrid\")\n    mygText.SetSymbol(xySymbol)\n    mygText.SetDisplay(theLayout.GetDisplay)\n    tph= PointTextPositioner.Make\n    if (AlignLabels) then\n      mygText.SetAngle(90)\n      o = aPt.Clone - ((mygText.GetExtent.GetX)@(mygText.GetExtent.GetY / 2))\n    else\n      o = aPt.Clone - ((mygText.GetExtent.GetX)@(mygText.GetExtent.GetY / 3))    \n    end\n    mygText.SetOrigin(o)\n'** put northing label at
  1135.  xmax\n    aPt =  dOrigin + ( ((Point.Make(xMax,y) - xyOrigin) / xySize) * dSize) \n    if (doGraticule) then\n      gLine =  GraphicShape.Make( Line.Make( aPt-(0.05@0), aPt ) )\n    else\n      gLine =  GraphicShape.Make( Line.Make( aPt+(0.055@0), aPt ) )   \n    end\n    theGraphics.Addbatch( gLine )\n    gline.SetName(\"Preview_GratGrid\")\n    gLine.SetSymbol( blackLine )\n    aPt =  aPt + (0.07@0)  \n    mygText= GraphicText.Make(y.SetFormat(\"d\").AsString, aPt)\n    mygText.setobjecttag(\"mygText\")\n    theGraphics.Ad
  1136. dbatch(mygText)\n    mygText.SetName(\"Preview_GratGrid\")\n    mygText.SetSymbol(xySymbol)\n    mygText.SetDisplay(theLayout.GetDisplay)\n    if (AlignLabels) then\n      mygText.SetAngle(-90)\n      o = aPt.Clone - (0@(mygText.GetExtent.GetY / 2))\n    else\n      o = aPt.Clone - (0@(mygText.GetExtent.GetY / 5))\n    end\n    mygText.SetOrigin(o)\n  end   ' of foreach y\nend   ' of if (doXYGrid)\n\n\n\n'** Draw the border ...\nif (BorderAroundMap) then\n  theBorder =  GraphicShape.Make( dRect)\n  theBorder.SetSymbol(thickblac
  1137. kline)\n  theBorder.SetName(\"Preview_GratGrid\")\n  if (MapBorderStyle = \"Single\") then\n    theGraphics.AddBatch( theBorder )\n  elseif (MapBorderStyle.Contains(\"Double\")) then\n    if (MapBorderStyle.Contains(\"Thick\")) then\n      theBorder.GetSymbol.SetWidth ( (MapBorderLineWt * 0.75) )\n    else\n      theBorder.GetSymbol.SetWidth (0.2)\n    end\n    theGraphics.AddBatch( theBorder )\n    eRect = dRect.Clone\n    eRect.ExpandBy(0.05)\n    thinLine = BasicPen.Make\n    thinLine.SetColor(MBColor)\n    thinLine.SetSize(0.
  1138. 2)\n    theDoubleBorder = GraphicShape.Make(eRect)\n    theDoubleBorder.SetSymbol(thinLine)\n    theGraphics.addBatch(theDoubleBorder)\n    theDoubleBorder.SetName(\"Preview_GratGrid\")\n  elseif (MapBorderStyle.Contains(\"Triple\")) then\n    theBorder.GetSymbol.SetWidth (0.2)\n    theGraphics.AddBatch( theBorder )\n    eeRect = dRect.Clone\n    eeRect.ExpandBy(0.025)\n    eRect = dRect.Clone\n    eRect.ExpandBy(0.05)\n    thinLine = BasicPen.Make\n    thinLine.SetColor(MBColor)\n    thinLine.SetSize(0.2)\n    theDoubleBorde
  1139. r = GraphicShape.Make(eRect)\n    theDoubleBorder.SetSymbol(thinLine)\n    theGraphics.addBatch(theDoubleBorder)\n    theDoubleBorder.SetName(\"Preview_GratGrid\")\n    theTripleBorder = GraphicShape.Make(eeRect)\n    if (MapBorderStyle.Contains(\"Thick\")) then\n      thickerLine = BasicPen.Make\n      thickerLine.SetColor(MBColor)\n      thickerLine.SetSize((MapBorderLineWt * 0.66))\n      theTripleBorder.SetSymbol(thickerLine)\n    else\n      theTripleBorder.SetSymbol(thinLine.Clone)\n    end\n    theGraphics.addBatch(t
  1140. heTripleBorder)\n    theTripleBorder.SetName(\"Preview_GratGrid\")\n  end\nend\n\nif (nil<>thegraphics.findbyobjecttag(\"mygText\")) then\n  for each agraphic in thegraphics.findallbyobjecttag(\"mygtext\")\n    agraphic.setselected(true)\n    agraphic.setobjecttag(nil)\n  end\n  if (BorderAroundLabels) then\n    brect = theGraphics.ReturnSelectedExtent\n    cDrect = dRect.ReturnCenter\n    cBrect = brect.ReturnCenter\n    if ((doXYGrid) and (not doGraticule)) then\n      DAdj = cDrect - cBrect\n      brectO = brect.ReturnOrigin\n
  1141.       newO = brectO + DAdj\n      brect.SetOrigin(newO)\n    end\n    ebrect1 = brect.Clone.ExpandBy(0.04)\n    nn  = ebrect1.ReturnOrigin\n    nnn = nn - (0@vAdj)\n    ebrect1.SetOrigin(nnn)\n    lbsym = BasicPen.make\n    lbsym.SetSize(LabelBorderLineWt)\n    lbsym.SetColor(LBColor)\n    lBorder = GraphicShape.Make(ebrect1)\n    lBorder.SetSymbol(lbsym)\n    lBorder.SetName(\"Preview_GratGrid\")\n    if (LabelBorderStyle = \"Single\") then\n      theGraphics.AddBatch(lBorder)\n    elseif (LabelBorderStyle.Contains(\"Double\")
  1142. ) then\n      if (LabelBorderStyle.Contains(\"Thick\")) then\n        lBorder.GetSymbol.SetWidth ( (LabelBorderLineWt * 0.75) )\n      else\n        lBorder.GetSymbol.SetWidth (0.2)\n      end\n      theGraphics.AddBatch(lBorder)\n      lBorder.SetName(\"Preview_GratGrid\")\n      ebrect2 = ebrect1.Clone.ExpandBy(0.05)\n      lbsym2 = BasicPen.Make\n      lbsym2.SetColor(LBCOlor)\n      lbsym2.SetSize(0.2)\n      lBorder2 = GraphicShape.Make(ebrect2)\n      lBorder2.SetSymbol(lbsym2)\n      theGraphics.AddBatch(lBorder2)\n   
  1143.    lBorder2.SetName(\"Preview_GratGrid\")\n    elseif (LabelBorderStyle.Contains(\"Triple\")) then\n    \n      lBorder.GetSymbol.SetWidth (0.2)\n      theGraphics.AddBatch( lBorder )\n      eeRect = ebrect1.Clone\n      eeRect.ExpandBy(0.025)\n      eRect = ebrect1.Clone\n      eRect.ExpandBy(0.05)\n      thinLine = BasicPen.Make\n      thinLine.SetColor(LBColor)\n      thinLine.SetSize(0.2)\n      theDoubleBorder = GraphicShape.Make(eRect)\n      theDoubleBorder.SetSymbol(thinLine)\n      theGraphics.addBatch(theDoubleBord
  1144. er)\n      theDoubleBorder.SetName(\"Preview_GratGrid\")\n      theTripleBorder = GraphicShape.Make(eeRect)\n      if (LabelBorderStyle.Contains(\"Thick\")) then\n        thickerLine = BasicPen.Make\n        thickerLine.SetColor(MBColor)\n        thickerLine.SetSize((MapBorderLineWt * 0.66))\n        theTripleBorder.SetSymbol(thickerLine)\n      else\n        theTripleBorder.SetSymbol(thinLine.Clone)\n      end\n      theGraphics.addBatch(theTripleBorder)\n      theTripleBorder.SetName(\"Preview_GratGrid\")\n    \n    end\n  en
  1145. d\nend\ntheGraphics.EndBatch\n\n\ntheGraphics.UnSelectAll\nif (nil<>thegraphics.FindAllByName(\"GratGrid\")) then\n  for each agraphic in thegraphics.FindAllByName(\"Preview_GratGrid\")\n    agraphic.setselected(true)\n  end\n  thegraphics.groupselected\n  theGraphics.getSelected.Get(0).SetName(\"Preview_GratGrid\")\nend\n\ntheGraphics.Invalidate\n\nFinishButton = MTD.FindByName(\"Finish\")\nFinishButton.SetHelp(\"Keep this preview and close the graticule and grid wizard\")\nFinishButton.SetLabel(\"Finish\")\nNextButton = MTD.FindByName(
  1146. \"Next\")\nNextButton.SetLabel(\"Remove\")\nNextButton.SetHelp(\"Remove this preview of the graticule or grid and continue working in the wizard\")\nNextButton.SetEnabled(true)\nBackButton = MTD.FindByName(\"Back\")\nBackButton.SetEnabled(false)\n\n"
  1147. )
  1148.  
  1149. (Script.131
  1150.     Name:    "GratGrids.LayoutGraticule Default Intervals"
  1151.     SourceCode:    "MTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\ntheGraphic = Self.Get(0)\nif (TheGraphic.Is(String)) then\n  theView = av.GetProject.FindDoc(theGraphic)\n  xyRect = Self.Get(1)\nelse\n  ViewFrames = MTD.FindByName(\"viewFrames\")\n  theLayout   = av.GetActiveDoc\n  if ( Not (theLayout.is(Layout))) then\n    Msgbox.Info(\"Please make your layout active again.\",\"Oops\")\n    return nil\n  end\n  theView = theGraphic.GetView\n  theGraphics = theLayout.GetGraphics\n  xyRect = theGraphic.GetMapDisplay.ReturnExtent\n
  1152. end\n\nthisPrj = theView.GetProjection\nxyOrigin = xyrect.ReturnOrigin\nxySize = xyrect.ReturnSize\nminLength =  xySize.GetX Min xySize.GetY\nxyIntervals =  {20000000,10000000,5000000,2000000,1000000,500000,200000,100000,50000,20000,10000,5000,2000,1000,500,200,100,50,20,10,5,2,1 }\nrawInterval =  minLength / 4   ' 4 is the default number of lines\ntheInterval =  xyIntervals.Get( xyIntervals.Count - 1 )\nfor each val in xyIntervals\n  if (rawInterval >=  val) then\n     theInterval =  val\n     break\n  end\nend\ntheInt =
  1153.  theInterval.SetFormat(\"d\")\nMTD.FindByName(\"GridInt\").SetText(theInt.AsString)\n\nxMin = xyOrigin.GetX\nyMin = xyOrigin.GetY\nxMax = xMin + xySize.GetX\nyMax =  yMin + xySize.GetY\npoint1= Point.Make(xMin,yMin)\npoint2= Point.Make(xMax,yMin)\npoint3= Point.Make(xMax,yMax)\npoint4= Point.Make(xMin,yMax)\npoint5= Point.Make((xMin+(xMax-xMin)/2),yMin)\npoint6= Point.Make(xMax,(yMin+(yMax-yMin)/2))\npoint7= Point.Make((xMin+(xMax-xMin)/2),yMax)\npoint8= Point.Make(xMin,(yMin+(yMax-yMin)/2))\na = thisPrj.UnProjectPt(point1)\nb
  1154.  = thisPrj.UnProjectPt(point2)\nc = thisPrj.UnProjectPt(point3)\nd = thisPrj.UnProjectPt(point4)\ne = thisPrj.UnProjectPt(point5)\nf = thisPrj.UnProjectPt(point6)\ng = thisPrj.UnProjectPt(point7)\nh = thisPrj.UnProjectPt(point8)\n\nif (((d) and (h) and (a)) and (a <> false)) then\n  minlon= (Point1.GetX)Min(Point4.GetX)Min(Point8.GetX)Max(-180)\nelse\n  minlon = -180\nend\nif (((a) and (b) and (e)) and (a <> false)) then\n  minlat= (Point1.GetY)Min(Point2.GetY)Min(Point5.GetY)Max(-90)\nelse\n  minlat = -90\nend\nif (((b) and
  1155.  (c) and (f)) and (b <> false)) then\n  maxlon= (Point2.GetX)Max(Point3.GetX)Max(Point6.GetX)Min(180)\nelse\n  maxlon = 180\nend\nif (((c) and (d) and (g)) and (c <> false)) then\n  maxlat= (Point3.GetY)Max(Point4.GetY)Max(Point7.GetY)Min(90)\nelse\n  maxlat = 90\nend\nminlon = minlon.SetFormat(\"d\")\nminlat = minlat.SetFormat(\"d\")\nmaxlon = maxlon.SetFormat(\"d\")\nmaxlat = maxlat.SetFormat(\"d\")\n\n\nminLength =  (maxlon-minlon) Min (maxlat-minlat)\nllIntervals =  {60,30,20,10,5,2,1,0.5,0.3333333333,0.25,0.1666666666,0.083333
  1156. 33333,0.03333333333,0.01666666666 }\nrawInterval =  minLength / 3\ntheInterval =  llIntervals.Get( llIntervals.Count - 1 )\nfor each val in llIntervals\n  if (rawInterval >=  val) then\n     theInterval =  val\n     break\n  end\nend\ndegr = theInterval.Abs.Truncate\nt =  ( theInterval.Abs - degr ) * 60\nminu = t.Truncate\nsec =  (t-minu) * 60\nsec =  sec.Truncate\n\nSecList = {sec.AsString}\nminList = {minu.AsString}\ndegList = {degr.AsString}\nfor each x in 0..60\n  SecList.Add(x.AsString)\n  minList.Add(x.AsString)\n  degLis
  1157. t.Add(x.AsString)\nend\n\nDegrees = MTD.FindByName(\"Degrees\")\nMinutes = MTD.FindByName(\"Minutes\")\nSeconds = MTD.FindByName(\"Seconds\")\nDegrees.DefineFromList(degList)\nMinutes.DefineFromList(minList)\nSeconds.DefineFromList(secList)\nDegrees.SetCurrentValue(degList.Get(0))\nMinutes.SetCurrentValue(minList.Get(0))\nSeconds.SetCurrentValue(secList.Get(0))\nlongdeg = MTD.FindByName(\"longdeg\")\nlongmin = MTD.FindByName(\"longmin\")\nlongsec = MTD.FindByName(\"longsec\")\nlongdeg.DefineFromList(degList.DeepClone)\nlongmin.DefineF
  1158. romList(minList.DeepClone)\nlongsec.DefineFromList(secList.DeepClone)\nlongdeg.SetCurrentValue(degList.Get(0))\nlongmin.SetCurrentValue(minList.Get(0))\nlongsec.SetCurrentValue(secList.Get(0))\n\n"
  1159. )
  1160.  
  1161. (Script.132
  1162.     Name:    "GratGrids.LayoutGraticule Font Changed"
  1163.     SourceCode:    "MTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\n \nOptionPanel = MTD.FindByName(\"OptionPanel\")\nGratPanel = MTD.FindByName(\"GratOptions\")\nGridPanel = MTD.FindByName(\"gridpanel\")\nBorderPanel = MTD.FindByName(\"graphicoptions\")\nGratLabFont = MTD.FindByName(\"GratLabFont\")\nGridLabFont = MTD.FindByName(\"GridLabFont\")\nGridLabelStyle = MTD.FindByName(\"GridLabelStyle\")\nGratLabelStyle = MTD.FindByName(\"GratLabelStyle\")\n\nfontName = nil\n\nif (GratPanel.IsEnabled) then\n  fontName = GratLabFont.GetSelection\nen
  1164. d\nif (GridPanel.IsEnabled) then\n  fontName = GridLabFont.GetSelection\nend\n\nif (fontName <> nil) then\n  Styles = FontManager.The.ReturnStyles(fontName)\n  \n  if (GratPanel.IsEnabled) then\n    GratLabelStyle.DefineFromList(Styles.DeepClone)\n  end\n  if (GridPanel.IsEnabled) then\n    GridLabelStyle.DefineFromList(Styles.DeepClone)\n  end\n\nend"
  1165. )
  1166.  
  1167. (Script.133
  1168.     Name:    "GratGrids.LayoutGraticule Grat Display Option"
  1169.     SourceCode:    "MTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\n\nGratLabFont = MTD.FindByName(\"GratLabFont\")\nGridLabFont = MTD.FindByName(\"GridLabFont\")\nLabelBorderColor = MTD.FindByName(\"LabelBorderColor\")\nMapBorderColor = MTD.FindByName(\"MapBorderColor\")\nGratAndLab = MTD.FindByName(\"GratandLab\")\nLabOnly = MTD.FindByName(\"LabOnly\")\nGratColor = MTD.FindByName(\"GratColor\")\nGratLineWt = MTD.FindByName(\"GratLineWt\")\n\nif (GratAndLab.IsSelected) then\n  'GratColor.SetEnabled(true)\n  GratLineWt.SetEnabled(true)\nend\n
  1170. if (LabOnly.IsSelected) then\n  'GratColor.SetEnabled(false)\n  GratLineWt.SetEnabled(false)\nend"
  1171. )
  1172.  
  1173. (Script.134
  1174.     Name:    "GratGrids.LayoutGraticule Open"
  1175.     SourceCode:    "MTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\n\nCancelButton = MTD.FindByName(\"Cancel\")\nBackButton = MTD.FindByName(\"Back\")\nNextButton = MTD.FindByName(\"Next\")\nNextButton.SetLabel(\"Next >>\")\nNextButton.SetHelp(\"Shows the next panel of the graticule and grid wizard\")\nFinishButton = MTD.FindByName(\"Finish\")\nFinishButton.SetLabel(\"Preview\")\nFinishButton.SetHelp(\"Previews the graticule or grid using the current settings\")\nOptionPanel = MTD.FindByName(\"OptionPanel\")\nGratPanel = MTD.FindByName(\"Gra
  1176. tOptions\")\nGridPanel = MTD.FindByName(\"gridpanel\")\nBorderPanel = MTD.FindByName(\"graphicoptions\")\nViewFrames = MTD.FindByName(\"viewFrames\")\nSelGrat = MTD.FindByName(\"SelectGrat\")\nSelGrid = MTD.FindByName(\"SelectGrid\")\nDegrees = MTD.FindByName(\"Degrees\")\nMinutes = MTD.FindByName(\"Minutes\")\nSeconds = MTD.FindByName(\"Seconds\")\nGratLabFont = MTD.FindByName(\"GratLabFont\")\nGridLabFont = MTD.FindByName(\"GridLabFont\")\nLabelBorderColor = MTD.FindByName(\"LabelBorderColor\")\nMapBorderColor = MTD.FindByName(\"MapBorderCo
  1177. lor\")\nGridColor = MTD.FindByName(\"GridColor\")\nGratColor = MTD.FindByName(\"GratColor\")\nGratAndLab = MTD.FindByName(\"GratandLab\")\nLabOnly = MTD.FindByName(\"LabOnly\")\nGridLines = MTD.FindByName(\"GridLines\")\nGridTics = MTD.FindByName(\"GridTics\")\nGridLineWt = MTD.FindByName(\"GridLineWt\")\nGratLineWt = MTD.FindByName(\"GratLineWt\")\nMapBorderStyle = MTD.FindByName(\"MapBorderStyle\")\nLabelBorderStyle = MTD.FindByName(\"LabelBorderStyle\")\nGridLabelSize = MTD.FindByName(\"GridLabelSize\")\nGratLabelSize = MTD.FindByName(\"Gr
  1178. atLabelSize\")\nGridLabelStyle = MTD.FindByName(\"GridLabelStyle\")\nGratLabelStyle = MTD.FindByName(\"GratLabelStyle\")\nLabelBorderOptions = MTD.FindByName(\"LabelBorderOptions\")\nMapBorderOptions = MTD.FindByName(\"MapBorderOptions\")\nBorderAroundMap = MTD.FindByName(\"BorderAroundMap\")\nBorderAroundLabels = MTD.FindByName(\"BorderAroundLabels\")\nWizImage = MTD.FindByName(\"WizImage\")\n\nIf (System.GetLook = #SYSTEM_LOOK_MSW) then\n  ii = Icon.MakeFromResName(\"Icons.Graticule/Grid\")\nelse\n  AnIconFile = \"$AVHOME/tools/bitmap
  1179. s/gratwiz1.bmp\".AsFileName\n  if (File.Exists(AnIconFile)) then\n    ii = Icon.Make(AnIconFile)\n    WizImage.SetIcon(ii)\n  end\nend\n\nGratLabFont.DefineFromList(FontManager.The.ReturnFamilies)\nGridLabFont.DefineFromList(FontManager.The.ReturnFamilies)\nGratAndLab.Select\nGratLineWt.SetEnabled(true)\nGridTics.Select\n\nLineWeights1 = {\"0.1\",\"0.2\",\"0.25\",\"0.5\",\"0.75\",\"1.0\",\"1.25\",\"1.5\",\"2.0\",\"2.5\",\"3.0\"}\nLineWeights2 = {\"3.0\",\"2.5\",\"2.0\",\"1.5\",\"1.25\",\"1.0\",\"0.75\",\"0.5\",\"0.25\",\"0.2\",\"0.1\"}\nGridLineWt.DefineFromList(Lin
  1180. eWeights1.DeepClone)\nGratLineWt.DefineFromList(LineWeights1.DeepClone)\n\ncolors = {\"Black\",\"Red\",\"Blue\",\"Dark Green\",\"White\",\"Dark Gray\"}\nLabelBorderColor.DefineFromList(colors.DeepClone)\nMapBorderColor.DefineFromList(colors.DeepClone)\nGridColor.DefineFromList(colors.DeepClone)\nGratColor.DefineFromList(colors.DeepClone)\n\nifn1 = \"$AVHOME/tools/bitmaps/solid.bmp\".AsFileName\nifn2 = \"$AVHOME/tools/bitmaps/double.bmp\".AsFileName\nifn3 = \"$AVHOME/tools/bitmaps/dtt.bmp\".AsFileName\nifn4 = \"$AVHOME/tools/bitmaps/tripl
  1181. e.bmp\".AsFileName\nifn5 = \"$AVHOME/tools/bitmaps/ttt.bmp\".AsFileName\n\nif (File.Exists(ifn1)) then\n  Icon1 = Icon.Make(ifn1)\n  Icon2 = Icon.Make(ifn2)\n  Icon3 = Icon.Make(ifn3)\n  Icon4 = Icon.Make(ifn4)\n  Icon5 = Icon.Make(ifn5)\n  Icon1.SetName(\"Single\")\n  Icon2.SetName(\"Double\")\n  Icon3.SetName(\"DoubleThick\")\n  Icon4.SetName(\"Triple\")\n  Icon5.SetName(\"TripleThick\")\n  lineStyles = {Icon1,Icon2,Icon3,Icon4,Icon5}\nend\nMapBorderStyle.DefineFromList(lineStyles.DeepClone)\nLabelBorderStyle.DefineFromList(lineStyles
  1182. .DeepClone)\nMapBorderStyle.GoFirst\nLabelBorderStyle.GoFirst\nMapBorderStyle.SetVisible(false)\nMapBorderStyle.SetVisible(true)\nLabelBorderStyle.SetVisible(false)\nLabelBorderStyle.SetVisible(true)\n\nLabelSizes = {\"10\"}\nfor each h in 6..24\n  LabelSizes.Add(h.AsString)\nend\nGridLabelSize.DefineFromList(LabelSizes.DeepClone)\nGratLabelSize.DefineFromList(LabelSizes.DeepClone)\n\nGratLabFont.Select\nGridLabFont.Select\n\nMapBorderStyle.SetEnabled(true)\nMapBorderColor.SetEnabled(true)\nMapBorderOptions.SetEnabled((BorderAro
  1183. undMap.IsSelected))\n\nLabelBorderColor.SetEnabled(false)\nLabelBorderStyle.SetEnabled(false)\nBorderAroundLabels.SetSelected(false)\nLabelBorderOptions.SetEnabled(false)\n\nVert = 9\nHorz = 187\n\nFinishButton.SetEnabled(true)\nBackButton.SetEnabled(false)\nCancelButton.SetEnabled(true)\nNextButton.SetEnabled(true)\n\nOptionPanel.MoveTo(Horz,Vert)\nOptionPanel.SetEnabled(true)\nGratPanel.MoveTo(300,800)\nGridPanel.MoveTo(700,800)\nBorderPanel.MoveTo(1100,800)\n\nif (SelGrat.IsEnabled) then\n  SelGrat.SetSelected(true)\nend\nSelGr
  1184. id.SetSelected(true)\n\nGratPanel.SetEnabled(false)\nGridPanel.SetEnabled(false)\nBorderpanel.SetEnabled(false)"
  1185. )
  1186.  
  1187. (Script.135
  1188.     Name:    "GratGrids.Help"
  1189.     SourceCode:    "av.Help.SetAVFile\nav.Help.ShowTopic(\"Layout_Graticule_and_Grid\")"
  1190. )
  1191.  
  1192. (Script.136
  1193.     Name:    "GratGrids.LayoutGraticule Select Option"
  1194.     SourceCode:    "MTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\n\nCancelButton = MTD.FindByName(\"Cancel\")\nBackButton = MTD.FindByName(\"Back\")\nNextButton = MTD.FindByName(\"Next\")\nFinishButton = MTD.FindByName(\"Finish\")\nOptionPanel = MTD.FindByName(\"OptionPanel\")\nGratPanel = MTD.FindByName(\"GratOptions\")\nGridPanel = MTD.FindByName(\"gridpanel\")\nBorderPanel = MTD.FindByName(\"graphicoptions\")\nViewFrames = MTD.FindByName(\"viewFrames\")\nSelGrat = MTD.FindByName(\"SelectGrat\")\nSelGrid = MTD.FindByName(\"SelectGrid\")\n\nif 
  1195. ((SelGrat.IsSelected) or (SelGrid.IsSelected)) then\n  if (NextButton.GetLabel = \"Next >>\") then\n    NextButton.SetEnabled(true)\n    FinishButton.SetEnabled(true)\n  end\nelse\n  if (NextButton.GetLabel = \"Next >>\") then\n    NextButton.SetEnabled(false)\n    FinishButton.SetEnabled(false)\n  end\nend"
  1196. )
  1197.  
  1198. (Script.137
  1199.     Name:    "GratGrids.LayoutGraticule Show"
  1200.     SourceCode:    "MTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\n\nif (av.GetActiveDoc.Is(View)) then\n  brect = av.GetActiveDoc.ReturnUserRect\n  if (brect = nil) then\n    return nil\n  end\n  te = Extension.Find(\"Cartographic Tools\")\n  if (te.GetPreferences.Get(\"ViewGratRect\") = nil) then\n    te.GetPreferences.Add(\"ViewGratRect\",brect)\n  else\n    te.GetPreferences.Set(\"ViewGratRect\",brect)  \n  end\n  MTD.FindByName(\"aTextLabel39\").SetEnabled(false)\n  MTD.FindByName(\"viewFrames\").SetEnabled(false)\n  MTD.FindByName(
  1201. \"aTextLabel39\").SetVisible(false)\n  MTD.FindByName(\"viewFrames\").SetVisible(false)\n  theView = av.GetActiveDoc  \n  av.Run(\"GratGrids.LayoutGraticule Default Intervals\",{theView.GetName,brect})\nelse\n  MTD.FindByName(\"aTextLabel39\").SetEnabled(true)\n  MTD.FindByName(\"viewFrames\").SetEnabled(true)\n  MTD.FindByName(\"aTextLabel39\").SetVisible(true)\n  MTD.FindByName(\"viewFrames\").SetVisible(true)\n  ViewFrames = MTD.FindByName(\"viewFrames\")\n  theLayout   = av.GetActiveDoc\n  theGraphics = theLayout.GetGraphics\n  vf
  1202. s = av.GetActiveDoc.GetGraphics.FindAllByClass(ViewFrame)\n  vfl = {}\n  vfx = {}\n  IsProjData = false\n  RThese = {}\n  for each vv in 0..(vfs.Count - 1)\n    if (vfs.Get(vv).GetFillObject = nil) then\n      RThese.Insert(vv)\n    else\n      vfl.Add(vfs.Get(vv).GetFillObject.GetName)\n      vfx.Add(vfs.Get(vv).GetFillObject)\n    end\n  end\n  for each rr in RThese\n    vfs.Remove(rr)\n  end\n  theView = vfs.Get(0).GetFillObject\n  thisPrj = theView.GetProjection\n  if (thisPrj.IsNull) then\n    for each t in theView.GetTh
  1203. emes\n      te = t.ReturnExtent.AsPolygon\n      br = Rect.MakeXY(-181,-90,181,90).AsPolygon\n      if (br.Contains(te).Not) then\n        MTD.FindByName(\"SelectGrat\").SetSelected(false)\n        MTD.FindByName(\"SelectGrat\").SetEnabled(false)\n        break\n      end\n    end\n  end\n  if (vfl.Count = 0) then\n    MsgBox.Info(\"Your ViewFrames do not reference any view documents.\",\"Cannot Create Graticule or Grid\")\n    return nil\n  end\n  ViewFrames.DefineFromList(vfl)\n  av.Run(\"GratGrids.LayoutGraticule Default Interv
  1204. als\",{(vfs.Get(0).GetFillObject.GetName),(vfs.Get(0).GetFillObject.GetDisplay.ReturnVisExtent.clone)})\n\nend\n\nMTD.Open\n\n"
  1205. )
  1206.  
  1207. (Script.138
  1208.     Name:    "GratGrids.LayoutGraticule Update"
  1209.     SourceCode:    "theLayout   = av.GetActiveDoc\nif (theLayout.Is(Layout)) then\n  theGraphics = theLayout.GetGraphics\n  vfs = av.GetActiveDoc.GetGraphics.FindAllByClass(ViewFrame)\n  vfl = {}\n  Enabled = true\n  if (vfs.Is(List)) then\n    for each vf in vfs\n      if (vf.GetFillObject <> nil) then\n        vfl.Add(vf.GetFillObject.GetName)\n      end\n    end\n    if (vfl.Count = 0)then\n      Enabled = false\n    end\n  else\n    Enabled = false\n  end\nelse\n  Msgbox.Info(\"Please make your layout active again.\",\"Oops\")\n  return nil\nend\nS
  1210. elf.SetEnabled(Enabled)"
  1211. )
  1212.  
  1213. (Script.139
  1214.     Name:    "GratGrids.LayoutGraticule Close"
  1215.     SourceCode:    "if (av.GetProject.IsClosing) then\n  return nil\nend\n\nMTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\ntheLayout   = av.GetActiveDoc\nif ( Not (theLayout.is(Layout))) then\n  Msgbox.Info(\"Your Graticule preview was not removed because your layout was not the active document.\",\"Oops\")\n  return nil\nend\ntheGraphics = theLayout.GetGraphics\ntests = theGraphics.FindAllByName(\"Preview_GratGrid\")\nif (tests <> nil) then\n  for each gsgx in tests\n    theGraphics.RemoveGraphic(gsgx)\n  end\nend\n"
  1216. )
  1217.  
  1218. (Script.140
  1219.     Name:    "GratGrids.LayoutGraticule Update Panels"
  1220.     SourceCode:    "MTD = av.FindDialog(\"Grat Grids Layout Grids and Graticules\")\ntheLayout   = av.GetActiveDoc\nif ( Not (theLayout.is(Layout))) then\n  Msgbox.Info(\"Please make your layout active again.\",\"Oops\")\n  return nil\nend\n\nCancelButton = MTD.FindByName(\"Cancel\")\nBackButton = MTD.FindByName(\"Back\")\nNextButton = MTD.FindByName(\"Next\")\nFinishButton = MTD.FindByName(\"Finish\")\nOptionPanel = MTD.FindByName(\"OptionPanel\")\nGratPanel = MTD.FindByName(\"GratOptions\")\nGridPanel = MTD.FindByName(\"gridpanel\")\nBorderPanel = MTD.FindBy
  1221. Name(\"graphicoptions\")\nSelGrat = MTD.FindByName(\"SelectGrat\")\nSelGrid = MTD.FindByName(\"SelectGrid\")\nMapBorderStyle = MTD.FindByName(\"MapBorderStyle\")\nLabelBorderStyle = MTD.FindByName(\"LabelBorderStyle\")\n\nVert = 9\nHorz = 187\n\npanels = {OptionPanel}\nif (SelGrat.IsSelected) then\n  panels.Add(GratPanel)\nend\nif (SelGrid.IsSelected) then\n  panels.Add(GridPanel)\nend\npanels.Add(BorderPanel)\n\npCount = 0\npIdx = 0\nfor each p in panels\n  if (p.IsEnabled) then\n    pIdx = pCount\n  end\n  pCount = pCount + 1\nend \ntheGrap
  1222. hics = theLayout.GetGraphics\nif (self.Getname = \"Cancel\") then\n  tests = theGraphics.FindAllByName(\"Preview_GratGrid\")\n  if (tests <> nil) then\n    for each gsgx in tests\n      theGraphics.RemoveGraphic(gsgx)\n    end\n  end\n  MTD.Close\n  return nil\nend\n\n\nif (((Self.GetName = \"Next\") and (Self.GetLabel = \"Remove\")) or ((Self.GetName = \"Cancel\") and (NextButton.GetLabel = \"Remove\")))then\n  NextButton.SetLabel(\"Next >>\")\n  NextButton.SetHelp(\"Shows the next panel of the graticule and grid wizard\")\n  tg = av.Get
  1223. ActiveDoc.GetGraphics.FindAllByName(\"Preview_GratGrid\")\n  if (tg <> nil) then 'cos somebody might hit delete\n    for each gsgx in tg\n      theGraphics.RemoveGraphic(gsgx)\n    end\n    if (Self.GetName = \"Cancel\") then\n      MTD.Close\n    end\n  end\n  FinishButton.SetLabel(\"Preview\")\n  FinishButton.SetHelp(\"Previews the graticule or grid using the current settings\")\n  if (BorderPanel.IsEnabled) then\n    NextButton.SetEnabled(false)\n    BackButton.SetEnabled(true)\n  else\n    NextButton.SetEnabled(true)\n    if (
  1224. OptionPanel.IsEnabled) then\n      BackButton.SetEnabled(false)\n    else\n      BackButton.SetEnabled(true)\n    end\n  end\n  return nil\nend\n\nif (av.GetActiveDoc.Is(Layout)) then\n  if (OptionPanel.IsEnabled) then\n    vfrN = MTD.FindByName(\"viewFrames\").GetSelection\n    theVfs = theLayout.GetGraphics.FindAllByClass(ViewFrame)\n    for each vf in theVfs\n      theView = vf.GetFillObject\n      if (theView = nil) then\n        continue\n      end\n      vfrN = vf.GetFillObject.GetName\n      vN = vf\n    end\n    av.Run(\"G
  1225. ratGrids.LayoutGraticule Default Intervals\",{vN,nil})\n  end\nend\n\npanels.Get(pIdx).Move(800,1300)\npanels.Get(PIdx).SetEnabled(False)\n\nif (Self.GetName = \"Next\") then\n  pIdx = pIdx + 1\nelseif (Self.Getname = \"Back\") then\n  pIdx = pIdx - 1\nelse\n  MTD.Close\nend\n\nif (pIdx = 0) then\n  BackButton.SetEnabled(false)\n  NextButton.SetEnabled(true)\nelse\n  BackButton.SetEnabled(true)\nend\nif (pIdx = (panels.Count -1)) then\n  NextButton.SetEnabled(false)\n  FinishButton.SetEnabled(true)\nelse\n  NextButton.SetEnabled(true)  
  1226. \nend\n\npanels.Get(pIdx).MoveTo(Horz,Vert)\npanels.Get(pIdx).SetEnabled(true)\n\n"
  1227. )
  1228.  
  1229. (Script.141
  1230.     Name:    "GratGrids.CanUnload"
  1231.     SourceCode:    "return (true)"
  1232. )
  1233.  
  1234. (Script.142
  1235.     Name:    "GratGrids.Unload"
  1236.     SourceCode:    "Dialog.DetachFromExtension(self)"
  1237. )
  1238.  
  1239. (Script.143
  1240.     Name:    "GratGrids.Install"
  1241.     SourceCode:    "if (av.getproject=nil) then return nil end\n\nif(Self.GetPreferences.Get(\"Loaded\") = true) then\n  return nil\nend\n\ntheLayoutGUI = av.GetProject.FindGUI(\"Layout\")\nif (theLayoutGUI = nil) then\n  listOfLayoutGUIs = av.GetProject.FindGUIsFor(Layout)\n  LayoutGUIs2Use = Msgbox.MultiList(listOfLayoutGUIs,\"Choose one or more View document types to add Internet extension interface components to:\",\"Extension Loading\")\nelse\n  LayoutGUIs2Use = {theLayoutGUI}\nend\n\nfor each LayoutDocGUI in LayoutGUIs2Use\n  Bidx = LayoutDocG
  1242. UI.GetButtonBar.GetControls.Count - 1\n  LayoutDocGUI.GetButtonBar.Add(Self.Get(0).Clone, Bidx)\n  LayoutDocGUI.SetModified(true)\n  dd = LayoutDocGUI.GetMenuBar.FindByName(\"Layout\")\n  if (dd <> nil) then\n    si = dd.GetControls.Count    \n    dd.Add(((Self.Get(1)).Clone),si)\n  end\nend\n\nif (LayoutGUIs2Use.Count > 0) then\n  Self.GetPreferences.Set(\"Loaded\",true)\n  Self.GetPreferences.Set(\"Version\",(3.1))\n  av.getproject.setmodified(true)\nend\n\n"
  1243. )
  1244.  
  1245. (Script.144
  1246.     Name:    "GratGrids.Uninstall"
  1247.     SourceCode:    "if (av.GetProject = nil) then\n  return nil\nend\n\nif (av.GetProject.IsClosing) then\n  return nil\nend\n\nlistOfLayoutGUIs = av.GetProject.FindGUIsFor(Layout)\n\nfor each aDocGUI in (listOfLayoutGUIs)\n  c1 = aDocGUI.GetButtonBar.FindByScript(\"GratGrids.LayoutGraticule Show\")\n  if (c1 <> nil) then\n    aDocGUI.GetButtonBar.Remove(c1)\n  end\n  c2 = aDocGUI.GetMenuBar.FindByScript(\"GratGrids.LayoutGraticule Show\")\n  if (c2 <> nil) then\n    aDocGUI.GetMenuBar.FindByName(\"Layout\").Remove(c2)\n  end\nend\n\nav.getproject.setmo
  1248. dified(true)\n\n"
  1249. )
  1250.  
  1251.